算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、身份运算符、成员运算符
1)算术运算符
+、-、*、/、//(取整,整除)、%、**(幂)
注意:
1.除(/)的运算结果数据类型为float
2.字符串有+,代表拼接,非字符串和字符串进行拼接时要将非字符数据str()转为字符串。事实上str()的参数也可以是字符串。
3.字符串有*,代表 “复制”>>'wy'*3 output : wywywy
2)赋值运算符
赋值的方式有多种:基本赋值,序列赋值,链接赋值,复合赋值
#基本赋值 a=1 #序列赋值 a,b,c=9,2,1 #即a=1;b=2;c=3; #链接赋值 a=b=c=1 #即a=1;b=1;c=1; #复合赋值 a=1 a+=1 #即a=a+1
3)比较运算符
==、<=、>=、!=、<、>
比较运算符返回1表示真,返回0表示假,分别与bool变量True,False等价
注意:
1.True,False首字母大写
2.非零的数值变量,非空字符串为真,bool()进行类型转换得到True,eg. print(bool(1)) output:True
4)逻辑运算符
| 运算符 | 逻辑表达式 | 说明 |
|---|---|---|
| and | x and y | 与: x为假,则返回y的值,否则返回x的值 |
| or | x or y | 或: x为真,则返回x的值,否则返回y的值 |
| not | not x | 非: x为真,则返回False,否则返回True |
注意:
1.由于非零数值变量,非空字符串为真,所以逻辑表达式返回的值不一定是True ,False 而是操作数的值
2.性能优化: 短路
3.操作数与运算符之间有空格
示例:
print(not 0) # True print(not 1) # False print(1+2 or 9) # 3 print(0 or 8) # 8 print(0 and 3) #0 print(1 and 2) #2
5)位运算符
&、|、^、<<、>>
6)身份运算符
身份运算符用于比较两个对象的存储单元,内存地址相同的两个变量进行is运算,返回True;内存地址不同的两个变量进行is not运算,返回True。
| 运算符 | 说明 |
|---|---|
| is | 判断两个对象的存储单元是否相同 |
| not is | 判断两个对象的存储单元是否不同 |
注意操作数与运算符之间有空格
示例
a=1 b=2 print(a is b) #False c=[1,2] d=c print(c is d) #True e=c[:] # “列表复制”,是不同的列表 print(c is e) #False
7)成员运算符
成员运算符的作用是判断某个指定值是否存在与某个序列中,包括字符串,列表,元组
| 运算符 | 说明 |
|---|---|
| in | 如果在指定序列中存在指定值,返回True,否则返回False |
| not in | 如果在指定序列中不存在指定值,返回True,否则返回False |
注意操作数与运算符之间有空格
示例:
a=[1,2,3]
print(1 in a) #True
print(4 in a) #False
print('y' not in 'wyy') #False
运算符的优先级
大体上为:
单目运算符(操作数为1)>算术运算符>比较运算符>赋值运算符>身份运算符>成员运算符>逻辑运算符



