运算符
赋值运算符
用'='表示,左边只能是变量
算术运算符
+、-、*:加、减、乘
/:除法运算,结果是浮点型
//:除法运算,结果是整型
%:求余
**:求幂
复合运算符
+=、-=、*=、/=、//=、%=、**=
示例:
a = a+b 等价于 a += b
关系运算符
>、<、==、>=、<=、!=
表达式:由操作数和运算符构成的式子
关系表达式:由操作数和关系运算符构成的式子
关系表达式是有值的:符合数学逻辑值为真(True),不符合数学逻辑值为假(False)
逻辑运算符
与(and):两边的表达式同时为真,结果才为真
a = 20 print(a >= 0 and a <= 100) # python特有的写法 print(0 <= a <= 100) b = 10 print(b%3==0 and b%5==0)
或(or):两边的表达式一个为真,结果就为真,俩个为真也为真,2个假是假
# 判断闰年 year = int(input('请输入一个年份:')) print((year%4==0 and year%100!=0) or (year%400==0))
非(not):用于取反表达式,真变假,假变真
逻辑非经常伴随着隐式类型转换
很多时候是为简化表达式的书写
成员运算符
in、not in:判断一个变量是否在/不在另一个变量中
一般用在字符串、列表、元组、集合、字典等成员的判断
示例:
lt = [1, 2, 3] print('in:', 8 in lt) print('not in:', 8 not in lt) d = {'name': 'xiaoming', 'age': 20} # 字典:判断键是否存在 print('name' in d)
位运算符(了解)
&:按位与,对应的数据位同时为1,结果才为1
0b1010 0b1100 & ----------- 0b1000
|:按位或,对应的数据位一个为1,结果就为1
^:按位异或,对应的数据位相同时值为0,不同时值为1
~:按位取反,对应的数据位,1变0,0变1
<<:按位左移,左移一位相当于乘2
》:按位右移,右移一位相当于除2
优先级与结合性(重要)
python语法中没有明确规定运算符的优先级与结合性,即使提供了明确说明你也不一定能记住
建议:使用时不用刻意记录运算符的优先级与结合性问题,实在不行添加()即可解决