Python3 运算符大全
编程小白也能看懂的详细运算符指南 – 通俗解释 + 示例代码
运算符是编程语言的基本构建块,就像数学中的加减乘除一样。在Python中,运算符用于对变量和值执行各种操作。这份指南将用最简单易懂的方式,为你详细介绍Python中的所有运算符类型。
1 算术运算符
算术运算符用于执行数学运算,跟我们小学学的加减乘除差不多
运算符 | 名称 | 说明 | 示例 |
---|---|---|---|
+ | 加 | 两个数相加 | 10 + 5 结果为 15 |
– | 减 | 两个数相减 | 10 – 5 结果为 5 |
* | 乘 | 两个数相乘 | 10 * 5 结果为 50 |
/ | 除 | 两个数相除,结果是浮点数 | 10 / 5 结果为 2.0 |
% | 取模 | 返回除法的余数 | 10 % 3 结果为 1 |
** | 幂 | 返回x的y次幂 | 2 ** 3 结果为 8 |
// | 取整除 | 向下取整的除法 | 10 // 3 结果为 3 |
# 算术运算符示例代码
a = 15
b = 4
print(a + b) # 输出 19
print(a – b) # 输出 11
print(a * b) # 输出 60
print(a / b) # 输出 3.75
print(a % b) # 输出 3 (因为15÷4=3余3)
print(a ** 2) # 输出 225 (15的平方)
print(a // b) # 输出 3 (15÷4=3.75,向下取整为3)
a = 15
b = 4
print(a + b) # 输出 19
print(a – b) # 输出 11
print(a * b) # 输出 60
print(a / b) # 输出 3.75
print(a % b) # 输出 3 (因为15÷4=3余3)
print(a ** 2) # 输出 225 (15的平方)
print(a // b) # 输出 3 (15÷4=3.75,向下取整为3)
2 比较运算符
比较运算符用于比较两个值,返回True或False。就像数学里的”大于”、”小于”、”等于”
运算符 | 名称 | 说明 | 示例 |
---|---|---|---|
== | 等于 | 比较两个值是否相等 | 5 == 5 结果为 True |
!= | 不等于 | 比较两个值是否不相等 | 5 != 3 结果为 True |
> | 大于 | 左边是否大于右边 | 5 > 3 结果为 True |
< | 小于 | 左边是否小于右边 | 5 < 3 结果为 False |
>= | 大于等于 | 左边是否大于或等于右边 | 5 >= 5 结果为 True |
<= | 小于等于 | 左边是否小于或等于右边 | 5 <= 3 结果为 False |
# 比较运算符示例代码
x = 10
y = 7
print(x == y) # 输出 False
print(x != y) # 输出 True
print(x > y) # 输出 True
print(x < y) # 输出 False
print(x >= 10) # 输出 True
print(y <= 5) # 输出 False
x = 10
y = 7
print(x == y) # 输出 False
print(x != y) # 输出 True
print(x > y) # 输出 True
print(x < y) # 输出 False
print(x >= 10) # 输出 True
print(y <= 5) # 输出 False
小提示: 比较运算符在条件判断(比如if语句)中特别有用,它们能帮你做决定!
3 赋值运算符
赋值运算符用于给变量赋值,也可以结合算术运算符简化操作
运算符 | 名称 | 说明 | 等价形式 |
---|---|---|---|
= | 赋值 | 将右边的值赋给左边 | x = 5 |
+= | 加赋值 | x = x + y | x += y |
-= | 减赋值 | x = x – y | x -= y |
*= | 乘赋值 | x = x * y | x *= y |
/= | 除赋值 | x = x / y | x /= y |
%= | 取模赋值 | x = x % y | x %= y |
**= | 幂赋值 | x = x ** y | x **= y |
//= | 取整除赋值 | x = x // y | x //= y |
# 赋值运算符示例代码
a = 10 # 基本赋值
a += 5 # 相当于 a = a + 5 → a变成15
a -= 3 # 相当于 a = a – 3 → a变成12
a *= 2 # 相当于 a = a * 2 → a变成24
a /= 4 # 相当于 a = a / 4 → a变成6.0
a %= 4 # 相当于 a = a % 4 → a变成2.0
a **= 3 # 相当于 a = a ** 3 → a变成8.0
a //= 3 # 相当于 a = a // 3 → a变成2.0
a = 10 # 基本赋值
a += 5 # 相当于 a = a + 5 → a变成15
a -= 3 # 相当于 a = a – 3 → a变成12
a *= 2 # 相当于 a = a * 2 → a变成24
a /= 4 # 相当于 a = a / 4 → a变成6.0
a %= 4 # 相当于 a = a % 4 → a变成2.0
a **= 3 # 相当于 a = a ** 3 → a变成8.0
a //= 3 # 相当于 a = a // 3 → a变成2.0
4 逻辑运算符
逻辑运算符用于组合多个条件,常用于if语句中。就像日常生活中的”并且”、”或者”、”反过来”
运算符 | 名称 | 说明 | 示例 |
---|---|---|---|
and | 与 | 两个条件都为True时返回True | True and False 返回 False |
or | 或 | 任意一个条件为True就返回True | True or False 返回 True |
not | 非 | 反转结果,True变False,False变True | not True 返回 False |
# 逻辑运算符示例
age = 25
is_student = False
# 年龄大于18并且不是学生
print(age > 18 and not is_student) # 输出 True
# 年龄小于18或者是学生
print(age < 18 or is_student) # 输出 False
# 检查是否不是学生
print(not is_student) # 输出 True
age = 25
is_student = False
# 年龄大于18并且不是学生
print(age > 18 and not is_student) # 输出 True
# 年龄小于18或者是学生
print(age < 18 or is_student) # 输出 False
# 检查是否不是学生
print(not is_student) # 输出 True
小提示: 逻辑运算符经常用于条件判断,比如检查多个条件是否同时满足
5 位运算符
位运算符直接在二进制位上操作,处理数字的底层二进制表示
运算符 | 名称 | 说明 | 示例 |
---|---|---|---|
& | 与 | 对应位都为1结果才为1 | 5 & 3 结果为 1 |
| | 或 | 对应位有一个为1结果就为1 | 5 | 3 结果为 7 |
^ | 异或 | 对应位不同时结果为1 | 5 ^ 3 结果为 6 |
~ | 取反 | 所有位取反,0变1,1变0 | ~5 结果为 -6 |
<< | 左移 | 所有位向左移动,右边补0 | 5 << 1 结果为 10 |
>> | 右移 | 所有位向右移动,左边补0 | 5 >> 1 结果为 2 |
# 位运算符示例
a = 10 # 二进制: 1010
b = 4 # 二进制: 0100
print(a & b) # 与运算 → 0 (0000)
print(a | b) # 或运算 → 14 (1110)
print(a ^ b) # 异或运算 → 14 (1110)
print(~a) # 取反 → -11
print(a << 1) # 左移一位 → 20 (10100)
print(a >> 1) # 右移一位 → 5 (0101)
a = 10 # 二进制: 1010
b = 4 # 二进制: 0100
print(a & b) # 与运算 → 0 (0000)
print(a | b) # 或运算 → 14 (1110)
print(a ^ b) # 异或运算 → 14 (1110)
print(~a) # 取反 → -11
print(a << 1) # 左移一位 → 20 (10100)
print(a >> 1) # 右移一位 → 5 (0101)
6 成员运算符
成员运算符用于检查某个值是否在序列(如列表、字符串等)中
运算符 | 名称 | 说明 | 示例 |
---|---|---|---|
in | 在其中 | 如果在序列中找到值返回True | ‘a’ in ‘apple’ 返回 True |
not in | 不在其中 | 如果在序列中没有找到值返回True | 10 not in [1,2,3] 返回 True |
# 成员运算符示例
fruits = [“apple”, “banana”, “cherry”]
# 检查”banana”是否在水果列表中
print(“banana” in fruits) # 输出 True
# 检查”grape”是否不在水果列表中
print(“grape” not in fruits) # 输出 True
# 检查字符串中是否包含某个字母
print(“a” in “banana”) # 输出 True
print(“z” in “banana”) # 输出 False
fruits = [“apple”, “banana”, “cherry”]
# 检查”banana”是否在水果列表中
print(“banana” in fruits) # 输出 True
# 检查”grape”是否不在水果列表中
print(“grape” not in fruits) # 输出 True
# 检查字符串中是否包含某个字母
print(“a” in “banana”) # 输出 True
print(“z” in “banana”) # 输出 False
7 身份运算符
身份运算符用于比较两个对象是否引用同一个内存对象(是否是同样的东西)
运算符 | 名称 | 说明 | 示例 |
---|---|---|---|
is | 是同一对象 | 如果两个变量引用同一个对象则返回True | x is y |
is not | 不是同一对象 | 如果两个变量引用不同对象则返回True | x is not y |
# 身份运算符示例
a = [1, 2, 3]
b = a # b引用同一个列表对象
c = [1, 2, 3] # c创建了一个新列表
print(a is b) # True,因为a和b指向同一个对象
print(a is c) # False,内容相同但不是同一个对象
print(a == c) # True,因为内容相同
print(a is not c) # True,因为它们不是同一个对象
a = [1, 2, 3]
b = a # b引用同一个列表对象
c = [1, 2, 3] # c创建了一个新列表
print(a is b) # True,因为a和b指向同一个对象
print(a is c) # False,内容相同但不是同一个对象
print(a == c) # True,因为内容相同
print(a is not c) # True,因为它们不是同一个对象
注意: 不要混淆”==”和”is”运算符!”==”比较值是否相等,”is”比较是否是同一个对象
8 运算符优先级
当表达式中有多个运算符时,Python按照优先级规则决定计算顺序
优先级 | 运算符 | 说明 |
---|---|---|
最高 | () | 括号,用于分组 |
** | 指数(幂运算) | |
~ + – | 按位取反,正负号(一元运算符) | |
* / % // | 乘、除、取模、取整除 | |
+ – | 加、减(二元运算符) | |
<< >> | 位左移、位右移 | |
& | 按位与 | |
^ | | 按位异或、按位或 | |
<= < > >= | 比较运算符 | |
== != | 等于、不等于 | |
= %= /= //= -= += *= **= | 赋值运算符 | |
is is not | 身份运算符 | |
in not in | 成员运算符 | |
最低 | not or and | 逻辑运算符 |
# 运算符优先级示例
result = 10 + 5 * 2 ** 3 # 先算2**3=8, 然后5*8=40, 最后10+40=50
print(result) # 输出50
# 使用括号改变优先级
result = (10 + 5) * 2 ** 3 # 先算括号10+5=15, 再2**3=8, 最后15*8=120
print(result) # 输出120
result = 10 + 5 * 2 ** 3 # 先算2**3=8, 然后5*8=40, 最后10+40=50
print(result) # 输出50
# 使用括号改变优先级
result = (10 + 5) * 2 ** 3 # 先算括号10+5=15, 再2**3=8, 最后15*8=120
print(result) # 输出120
建议: 当不确定优先级时,使用括号明确指定计算顺序,这样代码更易读
运算符优先级顺口溜
括号最高要记牢,指数运算跟着跑
取反正负号,乘法除法求余数
加减法移位,再算位运算
比较运算符判断大小,等于不等要记好
身份成员运算符,赋值运算符最后算
逻辑运算在最后,not and or顺序要记牢