python 学习No1
- python中的标识符关键字
- print和input函数
- python中的数据类型
- python中的各种运算符
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 运算符的优先级
python中的标识符关键字
标识符:变量,模块名,函数名,类名等等
标识符规则:
1.由数字字母和_组成,不能以数字开头
2.严格遵守大小写,区别
3.不能使用关键字作为标识符例如if 、True、pass等
关键字:False, None, True, and, as, assert, break, class, continue,def, del, elif, else, except, finally,for, from, global, if, import,in, is, lambda, nonlocal, not, or, pass, raise, return, try,while, with, yield等等
x3b='你好'#x3b即为一个标识符
print(x3b)
#而以下则是错误示范,数字不可作为标识符开头
1x='你好'
print(1x)
标识符规则是需要遵循的,但是以下代码也成立:
(但没必要这样,我们应该遵守规定)
我='中国人'
print(我)
print和input函数
python 使用print内置函数来输出内容,用input使用其输入
注意:不管用户输入的什么,input接受的始终是字符串
例如:
age=input('年龄为')
print(age+1)
不能做age+1的操作,尽管age输入为数字,但实际为str类型,可用print(type(age))查看
python中的数据类型
整型(int),浮点型(float),复数(complex),字符串型(str),布尔类型(bool),列表(list),元组(tuple),字典(dict),集合(set)
整型:整数就是整型,计算机中有二进制,八进制,十进制,十六进制都可表示整型。一般默认数字为十进制(最大为9),0b开头是二进制(只有0,1),0o开头是八进制(最大为7),0x是十六进制(10:a,11:b…最大为f)
有关进制转换,我们可以用代码处理:(进制转换后数据类型始终为int)
a=12
print(bin(a))#使用bin内置函数可以将数字转换为二进制
print(oct(a))#使用oct内置函数可以将数字转换为八进制
print(hex(a))#使用hex内置函数可以将数字转换为十六进制
#而十进制直接打印就是
数据类型转换:将一个类型的数据转换为另一个数据类型,想转换什么类型就用相应的内置类。
我们利用类型转换可以解决上面的代码错误:
age=input('输入你的年龄')
print(type(age))#str
new_age=int(age)#使用int内置类转换类型
print(type(new_age))#int
print(new_age+1)#此时就能执行加一操作
如果字符串不是一个合法数字,会直接报错:(例如)
x='hello'
y=int(x)
print(y)#这是不成立的,hello是纯英文字符
python中的各种运算符
算数运算符
python中有+加,-减,_*_乘,/除,**幂运算,//整除,%取余
注意:python2中两个整数相除是整数,python3中整除是浮点数
简单的使用
print(3**3)#27
print(81**(1/2))#开平方 9.0
print(10//3)#整除,只取整数(向下取整) 3
print(10%3)#1 求的是余数
print(1928%9876)#1928
算数在字符串中的使用
1.字符串中支持加法和乘法运算符
2.python中数字和字符串之间不能做加法运算
#使用加法拼接两个字符串
print('hello'+'world')
#乘法运算可用于数字和字符串中,将字符串重复多次
print('hello'*2)
赋值运算符
’=‘在数学中是相等,而在python中表示赋值,将右边的值赋值给左边
m=3是对的而3=m是错的赋值方法
一些算数的简单表示:
x=x+2------------->x+=2
x=x-1-------------->x-=1
x=x3-------------->x=3
x=x/2-------------->x/=2
x=x3------------->x=3
a=b=c=d=e=10
m,n=3,5---------->m=3,n=5,这叫拆包操作
m,n=1,2,3,4,5,6------------>出错,拆包时变量和值个数不一致
x=‘hello’,‘good’ print(x)---->(‘hello’,‘good’)得到元组
可以试试以下代码,思考:
*a,b,c=1,2,3,4,5,6
print(a,b,c)
a,*b,c=1,2,3,4,5,6
print(a,b,c)
比较运算符
< >= <= != == >
比较运算符在字符串中的使用:会根据各字符的编码逐一比较ASCII
逻辑运算符
逻辑与and 逻辑或or 逻辑非not
逻辑与规则:只要有一个运算数是false,结果就是false;只有所有运算数都是true结果才是true
逻辑或规则:只要有一个对,整体就是true,只有所有运算数全错,才是false
逻辑非运算:true==>false false==>true
拓展:逻辑的短路
4>3 or print('哈哈')
4<3 or print('嘿嘿嘿')#结果为嘿嘿嘿,因为4》3执行后,后面代码就不执行了
逻辑与运算做取值时,取第一个为false的值;如果所有运算值都是true,取最后一个值
逻辑或运算取第一个为true的值,若所有为false,取最后一个值
print(3 and 5 and 0 and 'hello')#0
print('good' and 'yes' and 100)#100
print(0 or [] or 'list' or 5)#list
位运算符
按位与&(同为1则为1,否则为0)
a=23 0001 0111 23
b=15 0000 1111 15
print(a & b) 0000 0111 7
按位或|(只要有一个为1,就是1)
a=23 0001 0111 23
b=15 0000 1111 15
print(a | b) 0001 1111 31
按位异或^(相同为0,不同为1)
a=23 0001 0111 23
b=15 0000 1111 15
print(a ^ b) 0001 1000 24
按位左移<<(右边补0)
a=5 0101 5
a<<2 010100 20
print(a<<2) a<<n======>a*2的n次方
按位右移>>(左边补0)
a=15 1111 15
0011 3
print(a>>2) a>>n======>a除以2的n次方
运算符的优先级
按顺序排列优先级