初学Python笔记
Python学习(利用PyCharm编译器)
1.第一个Python程序(利用Python打印Hello World)
print('Hello World!')
2.变量和简单数据类型
2.1 变量
#定义一个变量
a=5#与Java不同,不需要指名数据类型
#连续定义变量
b=c=d=5
#变量输出
print(a)#输出a
print(b,c,d)#输出多个变量,中间用半角逗号隔开
2.2 字符串
#定义一个字符串
name='Bob'
name1="Tom"
#字符串输出
print(name,name1,'是朋友')
2.2.1 对字符串的操作
name='Allen Iverson'
#字符串的读取操作
print(name[0])#此处的下标和数组的下标相同,打印结果是A
print(name[0:2])#打印结果为Al(0<=地址值<2)
print(name[:4])#打印结果为Alle(0<=地址值<=4)
print(name[:])#输出结果与print(name)相同,输出整个字符串
print(name[::2])#从头到尾,步长为2,读取对应字符
print(name[-1])#从右到左读取右边第一个字符
print(name[-4:-1])#从右到左读取右边第四个,第三个,第二个字符
#字符串值的合并操作
job='basketball player'
recoed=name+' is a '+job
print(recoed)
#字符串值的更改操作
new_recoed='Reus'+recoed[13:19]+'footplayer'
print(new_recoed)
#字符串值的删除
del(name)
print(name)#报错NameError: name 'name' is not defined
2.2.2 常用操作
#获取字符串长度
print(len(name))
#\b符号与\n符号
print('C:\back\name')#这里面输出结果为Cack(换行)ame,在没有r的时候\b是回退符\n是换行符
print(r'C:\back\name')#有了r就按原样输出
#重复输出
print(name*2)
2.3 数字和运算符
2.3.1 算数运算符(+、—、*、**、%、/、//)
print(5+3)
print(5-3)
print(5*3)
print(4/2)
print(2**2)#乘方、乘幂
print(5%2)
print(5//2)#取整除
2.3.2 整数
#整数运算如上所示
2.3.3 浮点数
#浮点数长度有限,超出长度会近似化处理
print(1.0/3)#结果为3.3333333333335
print(10*2+0.1)#结果为20.1
2.3.4 复数
print((1-2j))#Python里的复数表示形式
print((1-2j)*(1-2j))#Python里的复数运算,遵循数学里的复数运算法则
print((1-2j).real)#输出复数里的实部
print((1-2j).imag)#输出复数里的虚部
2.3.5 布尔
print(True and False)#输出结果False
print(True or False)#输出结果True
2.3.6 二进制
print(0b1110)#用二进制输出十进制
print(bin(14))#将十进制转换为二进制
#二进制位运算符
print(0b00110101&0b01100001)
#&运算(与运算):比较两个二进制数的相应位数,一样为1,,不一样为0,这个的输出就是33(00100001)
print(0b00110101^0b01100001)
#^运算(异或运算):比较两个二进制数的相应位数,有1则为1,全0为0,这个的输出结果就是84(01010100)
print(~0b00100001)
#~运算(反转运算):将二进制数+1,,然后乘以-1,这个的输出结果就是-34(-00100010)
print(0b00110101<<2)
#<<运算(左移动运算):二进制数向左移动两位然后补0,这个的输出结果是212(11010100)
print(0b00110101>>2)
#>>运算(右移动运算):二进制数向右移动两位然后补0,这个的输出结果是13(00001101)
2.3.7 比较运算符
#整数的比较
#==等于(=是赋值)
a,b,c=10,9,0o12
print(a==c)#十进制和八进制比较(两个数都是10),true
print(a==b)#十进制与十进制比较,不相等,false
print(False==True)#布尔值比较,不相等,false
print(3.0==3)#浮点数与整数比,相等,true
print((5-2j)==(5-2j))#复数相比,相等,true
print(0b00110001==0b00110001)#二进制相比,相等,true
#其它比较
print(a!=b)#不等运算,不相等,true
print(a>=c)#大于等于,等于,true
print(a>c)#大于,等于,false
#字符串的比较
print('a'=='b')#实质上比较的是ASCⅡ码数字的大小
print('ab'=='ab')
print('a'==1)
#优先级
#按照数学里的运算规则
print(5+1>5 and True)#顺序比较,先5+1,然后比较是否大于5,6>5返回值是true,true and true = true
print((5+1)*2>5 and True)#先计算括号内的数值
2.3.8 赋值运算符
x,y=10,10#令x,y的值为10
print(x+y)#输出x+y的值
x+=y#和x+y相似(Python独有的,和num=x+y相等)
print(x)
2.4 数据类型转换
2.4.1 数据类型转换
print(int(3.2),#float转化为int(精度丢失,小数点后丢失)
int('10'),#将字符串转化为int,int不支持复数转化
float(10),
float('10'),#转化为float形式
complex(2,2),
complex('10'),#转化为复数
str(10+1j))#转化为字符串
2.4.2 进制类型转换
print(bin(0),#转化为二进制,X为非负数
oct(10),#转化为八进制
hex(20),#转化为十六进制
chr(97),#把十进制转化为ASCⅡ字符
ord('a'))#把ASCⅡ转化为十进制