Pythonic魔法——运算符
2024-08-22 00:01:00  阅读数 165

在 Python 中,运算符是一种用于对操作数进行操作的特殊符号或函数。Python 支持多种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符等。

算术运算符

算术运算符是用于进行数学运算的运算符。Python 中的算术运算符包括加法、减法、乘法、除法、模运算和幂运算等。

以下是 Python 中常用的算术运算符:

运算符 描述 示例
+ 加法运算 2 + 3 = 5
- 减法运算 3 - 2 = 1
* 乘法运算 2 * 3 = 6
/ 除法运算 10 / 2 = 5.0
% 取模运算 9 % 2 = 1
** 幂运算 2 ** 3 = 8
// 整除运算 10 // 3 = 3
a = 10
b = 3
print(a + b)   # 13
print(a - b)   # 7
print(a * b)   # 30
print(a / b)   # 3.3333333333333335
print(a % b)   # 1
print(a ** b)  # 1000
print(a // b)  # 3

比较运算符

比较运算符是用于比较两个值的运算符。Python 中的比较运算符包括等于、不等于、大于、小于、大于等于和小于等于等。

以下是 Python 中常用的比较运算符:

运算符 描述 示例
== 等于运算 2 == 2,结果为 True
!= 不等于运算 2 != 3,结果为 True
> 大于运算 3 > 2,结果为 True
< 小于运算 2 < 3,结果为 True
>= 大于等于运算 3 >= 2,结果为 True
<= 小于等于运算 2 <= 3,结果为 True
a = 5
b = 3
print(a == b)   # False
print(a != b)   # True
print(a > b)    # True
print(a < b)    # False
print(a >= b)   # True
print(a <= b)   # False

赋值运算符

赋值运算符用于给变量或表达式赋值,Python 中的赋值运算符包括等于、加等于、减等于、乘等于、除等于、取模等于、幂等于和整除等于等。

以下是 Python 中常用的赋值运算符:

运算符 描述 示例
= 等于运算 x = 10
+= 加等于运算 x += 5, 等价于 x = x+5
-= 减等于运算 x -= 5, 等价于 x = x-5
*= 乘等于运算 x = 5, 等价于 x = x5
/= 除等于运算 x /= 5, 等价于 x = x/5
%= 取模等于运算 x %= 5, 等价于 x = x%5
**= 幂等于运算 x = 5, 等价于 x = x5
//= 整除等于运算 x //= 5, 等价于 x = x//5
a = 10
b = 3
a += b  # 等价于 a = a + b
print(a)   # 13

a -= b  # 等价于 a = a - b
print(a)   # 10

a *= b  # 等价于 a = a * b
print(a)   # 30

a /= b  # 等价于 a = a / b
print(a)   # 10.0

a %= b  # 等价于 a = a % b
print(a)   # 1.0

a **= b  # 等价于 a = a ** b
print(a)   # 1.0

a //= b  # 等价于 a = a // b
print(a)   # 0.0

逻辑运算符

逻辑运算符用于连接多个条件表达式,判断它们是否为 True 或 False。Python 中的逻辑运算符包括与、或和非三种。

以下是 Python 中常用的逻辑运算符:

运算符 描述 示例
and 与运算 x > 2 and x < 10
or 或运算 x < 2 or x > 10
not 非运算 not(x > 2 and x < 10)
a = 5
b = 3
c = 9
print(a > b and b < c)   # True
print(a < b or b > c)    # False
print(not(a > b and b < c))   # False

成员运算符

成员运算符用于判断某个对象是否属于某个集合。Python 中的成员运算符包括 in 和 not in 两种。

以下是 Python 中常用的成员运算符:

运算符 描述 示例
in 判断对象是否在集合中 'a' in ['a', 'b', 'c']
not in 判断对象是否不在集合中 'd' not in ['a', 'b']
a = "hello"
b = [1, 2, 3]
print("o" in a)   # True
print("w" not in a)   # True
print(1 in b)    # True
print(4 in b)    # False

身份运算符

身份运算符用于比较变量或对象的内存地址是否一致。Python 中的身份运算符包括 is 和 not is 两种。

以下是 Python 中常用的身份运算符:

运算符 描述 示例
is 判断变量是否引用同一对象 x is y, x is not y --> True, False
not is 判断变量是否不引用同一对象 x is not y, x not is y --> False, True
a = [1, 2, 3]
b = a
print(b is a)       # True
print(b == a)       # True
print([1, 2, 3] is a)    # False
print([1, 2, 3] == a)    # True

位运算符

位运算符是对整数在二进制下的位进行操作的运算符。Python 中的位运算符包括按位与、按位或、按位异或、按位取反、左移和右移六种。

以下是 Python 中常用的位运算符:

运算符 描述 示例
& 按位与运算 5 & 3 = 1
| 按位或运算 5 | 3 = 7
^ 按位异或运算 5 ^ 3 = 6
~ 按位取反运算 ~5 = -6
<< 左移运算 5 << 2 = 20
>> 右移运算 5 >> 2 = 1
a = 5   # 二进制表示为 101
b = 3   # 二进制表示为 011
print(a & b)    # 001,等价于 1
print(a | b)    # 111,等价于 7
print(a ^ b)    # 110,等价于 6
print(~a)       # -6,等价于 -(a+1)
print(a << 2)   # 10100,等价于 20
print(a >> 2)   # 1,等价于 1

总结

本文介绍了 Python 中的各种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符等。熟悉这些运算符,有助于写出更加高效灵活的 Python 代码。不同的运算符对应不同的场景和问题,需要根据应用需求灵活选择。