运算符
赋值运算符
总共有:=、+=、-=、*=、/=、//=、%=
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 简单的赋值运算符 | c=a+b 将 a+b 的运算结果赋值为 C |
| += | 加法赋值运算符 | c+=a 等效于 c=c+a |
| -= | 减法赋值运算符 | c-=a 等效于 c=c-a |
| *= | 乘法赋值运算符 | c*=a 等效于 c=c*a |
| /= | 除法赋值运算符 | c/=a 等效于 c=c/a |
| //= | 取整除赋值运算符 | c//=a 等效于 c=c//a |
| %= | 取模(余数)赋值运算符 | c%=a 等效于 c=c%a |
| **= | 幂赋值运算符 | c**=a 等效于 c=c**a |
算术运算符
总共有:+、-、*、/、//、%、**
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加 | 10 + 20 = 30 |
| - | 减 | 10 - 20 = -10 |
| * | 乘 | 10 * 20 = 200 |
| / | 除 | 10 / 20 = 0.5 |
| // | 取整除,返回除法结果的整数部分,即商 | 10 // 20 = 0 |
| % | 取余数,返回除法结果的余数 | 9 % 2 = 1 |
| ** | 幂,又称次方、乘方 | 2 ** 3 = 8 |
优先级:
| 运算符 | 优先级 |
|---|---|
| ** | 1 |
| *、/、//、% | 2 |
| +、- | 3 |
位运算符
总共有:&、~、<<、>>、^

程序示例:
# 101
# 111
# 101
print(5 & 7) # 5
# 011
# 100
# 111
print(3 | 4) # 7
# 010
# 100
# 110
print(2 ^ 4) # 6
print(~1) # -2
关系运算符
关系运算符也叫比较运算符,总共有:==、!=、<、>、<=、>=
| 运算符 | 描述 |
|---|---|
| == | 检查两个操作数的值是否相等,如果是,则条件成立,返回 True |
| != | 检查两个操作数的值是否不相等,如果是,则条件成立,返回 True |
| > | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立,返回 True |
| < | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立,返回 True |
| >= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立,返回 True |
| <= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立,返回 True |
程序示例:
print(3.0 == 3) # True
print(True == True) # True
print("hello" == "hello") # True
print("hello" > "world") # False,按照从左到右字符的ASCII码值来比较大小
print(ord('a')) # 97
print(ord('A')) # 65
# print("hello" > 3) # 报错:TypeError: '>' not supported between instances of 'str' and 'int'
成员运算符
总共有:in、not in

程序示例:
print(3 in [1, 2, 3]) # True
print(4 in [1, 2, 3]) # False
print(1 not in [1, 2, 3]) # False
print(6 not in [1, 2, 3]) # True
逻辑运算符
总共有:and、or、not
逻辑运算符 and 和 or 不一定返回布尔值,not 一定返回布尔值。
| 运算符 | 逻辑表达式 | 描述 |
|---|---|---|
| and | x and y | 只有 x 和 y 的值都为 True,才会返回 True,否则只要 x 或者 y 有一个值为 False,就返回 False |
| or | x or y | 只要 x 或者 y 有一个值为 True,就返回 True,只有 x 和 y 的值都为 False,才会返回 False |
| not | not x | 如果 x 为 True,返回 False,如果 x 为 False,返回 True |
程序示例:
print(True and 1 == 1 and 2 < 3) # True
# 如果比较运算符两边不是布尔值,则结果不是布尔值
# 对于 and,Python 使用短路运算符规则,规律为:
# 全部都为真,则返回最后一个,
# 如果有真也有假,则返回第一个假
# 如果全为假,则返回第一个假
print("hello" and "hi") # hi
print(1 and 2) # 2
print("hello" and "") # 打印空字符串
print("" and "hello") # 打印空字符串
print(1 and 0) # 0
print(0 and 1) # 0
print(1 and 2 and 3 and 4 and 5 and 6) # 6
print(1 and 2 and 3 and 0 and 5 and 6) # 0
print(0 and '' and False) # 0
程序示例:
print(True or False) # True
print(False or True) # True
print(False or False) # False
print(1 or 0) # 1
print(0 or 1) # 1
# or 运算符也是遵循短路规则,
# 如果全为 True,则返回第一个值,
# 如果全为 False,则返回最后一个值,
# 如果既有 True 又有 False,则返回第一个遇到的 False
print(1 or 2 or 3 or 4 or 0 or False) # 1
print(0 or 1 or 2 or 3 or 4) # 1
print(5 or 1 or 2 or 3 or 4) # 5
print('' or False or 0) # 0
程序示例:
print(not True) # False
print(not 1) # False
print(not 0) # True
print(not '') # True
print(not 'Hello') # False
优先级:not > and > or
身份运算符
有两个:is、is not

程序示例:
a = 1
b = 1
c = 2
print(a is b) # True
print(b is c) # False
优先级

浙公网安备 33010602011771号