Python支持如下类型运算符:
- 算术运算符
- 比较运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
2.1 算数运算符
符号 | 表示 | 作用 |
---|
+ | a+b | 两数相加 |
- | a-b | 两数相减 |
* | a*b | 两数相乘 |
/ | a/b | 两数相除 |
% | a%b | 取模(整除后取余数) |
** | a**b | a的b次方 |
// | a//b | 整除后取商| |
a = 21
b = 2
print(a%b)
print(a**b)
print(a//b)
1
441
10
2.2 比较运算符
比较运算符只会返回两种值:true
,false
.
符号 | 表示 | 作用 |
---|
== | a==b | 是否相等 |
!= | a!=b | 是否不等 |
> | a>b | a是否大于b |
< | a<b | a是否小于b |
>= | a>=b | a是否大于等于b |
<= | a<=b | a是否小于等于b |
a = 3
b = 2
print(a==b)
print(a!=b)
False
True
2.3 赋值运算符
符号 | 描述 |
---|
+= | c+=a等效c=c+a |
-= | c-=a等效c=c-a |
其他类似 | |
a = 4
b = 3
b += a
print(b)
7
2.4 位运算符
位运算符主要在二进制中使用。
a = 0011 1100
b = 0000 1101
# a&b = 0000 1100 与
# a|b = 0011 1101 或
# a^b = 0011 0001 异或
# ~a = 1100 0011 非
# a<<2 = 1111 0000 左移
# a>>2 = 0000 1111 右移
2.5 逻辑运算符
符号 | 表示 | 作用 |
---|
and | x and y | x && y (与) |
or | x or y | x || y (或) |
not | not x | !x (非) |
a = 10
b = 20
if a and b :
print('a,b都为真')
else:
print('a,b至少有一个不为真')
if a or b :
print('a,b至少有一个为真')
else:
print('a,b都不为真')
print(not a)
a,b都为真
a,b至少有一个为真
False
2.6 成员运算符
Python中还支持成员运算:
符号 | 描述 | 实例 |
---|
in | 如果在序列中则返回true | x in y |
not in | 如果不在序列中则返回true | x not in y |
a = 10
b = 5
list = [1,2,3,4,5]
if(a in list):
print(a)
else:
print('a不在list!')
if(b not in list):
print(b)
else:
print('b在list!')
a不在list!
b在list!
2.7 身份运算符
用于判段实例与对象的关系:
符号 | 描述 | 实例 |
---|
is | 如果引用同一个对象则返回true | x is y |
not is | 如果不引用同一个对象则返回true | x not is y |
2.8 运算符优先级
运算符 | 描述 |
---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND’ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |