Python中的运算符是构建有意义程序的基础。与数学符号相似,Python的运算符具有特定的功能。在本文中,我们将深入探讨Python中的各种运算符,解释其功能,并提供样例代码以便更清晰地理解。
算术运算符用于基本的数学运算。这些运算符支持如加法、减法、乘法和除法等主要的计算。
a = 5
b = 3
print(a + b) # 加法
print(a - b) # 减法
print(a * b) # 乘法
print(a / b) # 除法
8
2
15
1.6666666666666667
运算符 | 运算 | 示例 | 结果 | 描述 |
---|---|---|---|---|
+ | 加法 | 5 + 8 | 13 | 运算符两侧的值相加 |
- | 减法 | 8 - 5 | 3 | 从左操作数中减去右操作数 |
* | 乘法 | 5 * 8 | 40 | 运算符两侧的值相乘 |
/ | 除法 | 8 / 2 | 4 | 左操作数除以右操作数 |
% | 取余 | 8 % 5 | 3 | 返回除法的余数 |
// | 地板除法 | 8 // 5 | 1 | 结果为整数,并且向数线的左侧调整 |
** | 指数运算 | 2 ** 3 | 8 | 对操作数执行指数(幂)计算 |
关系运算符用于比较两个操作数的值。通过这些运算符,我们可以评估两个值是否相等,一个值是否大于另一个值,或一个值是否小于另一个值。它们基于比较的结果返回一个布尔值。
print(a > b) # 大于
print(a < b) # 小于
print(a == b) # 等于
True
False
False
运算符 | 运算 | 示例 | 结果 | 描述 |
---|---|---|---|---|
== | 等于 | 5 == 8 | False | 如果两个操作数的值相等,则为真 |
!= | 不等于 | 5 != 8 | True | 如果两个操作数的值不相等,则为真 |
> | 大于 | 8 > 5 | True | 如果左操作数大于右操作数,则为真 |
< | 小于 | 5 < 8 | True | 如果左操作数小于右操作数,则为真 |
>= | 大于或等于 | 8 >= 5 | True | 如果左操作数大于或等于右操作数,则为真 |
<= | 小于或等于 | 5 <= 8 | True | 如果左操作数小于或等于右操作数,则为真 |
逻辑运算符用于评估多个条件的真假。它们主要用于通过组合各种条件产生最终的逻辑结果(真或假)以控制程序的流程。
x = True
y = False
print(x and y) # 逻辑与
print(x or y) # 逻辑或
print(not x) # 逻辑非
False
True
False
运算符 | 操作 | 示例 | 结果 | 描述 |
---|---|---|---|---|
and | 逻辑与 | True and False | False | 两个操作数都为真时为真 |
or | 逻辑或 | True or False | True | 至少有一个操作数为真时为真 |
not | 逻辑非 | not True | False | 操作数为假时为真(对操作数进行取反) |
位运算符作用于数字的二进制表示。它们在操作数的各个位上执行操作,从而在位级上实现逻辑运算、移位和取反操作。
print(a & b) # 位与
print(a | b) # 位或
print(a ^ b) # 位异或
1
7
6
运算符 | 操作 | 示例 | 结果 | 描述 |
---|---|---|---|---|
& | 位与 | 5 & 3 | 1 | 两操作数都设定的位都设定 |
| | 位或 | 5 | 3 | 7 | 任一操作数设定的位都设定 |
^ | 位异或 | 5 ^ 3 | 6 | 只在一个操作数中设定的位 |
~ | 位非 | ~5 | -6 | 设定的位都不设定,反之亦然 |
<< | 左移 | 5 << 1 | 10 | 将数字的位向左移动 |
>> | 右移 | 5 >> 1 | 2 | 将数字的位向右移动 |
赋值运算符用于为变量赋值。除基本赋值外,这些运算符还提供了将操作与赋值结合的功能。例如,它们可以给一个值加上一个特定的数字,然后将结果赋给一个变量。
a += 2 # a的值增加2
b -= 1 # b的值减少1
a = 7
b = 2
运算符 | 操作 | 示例 | 结果 | 描述 |
---|---|---|---|---|
= | 赋值 | x = 7 | 7 | 将右操作数的值赋给左操作数 |
+= | 加并赋值 | x += 3 | x + 3 | 将左操作数加上右操作数的值,然后将结果赋给左操作数 |
-= | 减并赋值 | x -= 3 | x - 3 | 将左操作数减去右操作数的值,然后将结果赋给左操作数 |
*= | 乘并赋值 | x *= 3 | x * 3 | 将左操作数乘以右操作数的值,然后将结果赋给左操作数 |
/= | 除并赋值 | x /= 3 | x / 3 | 将左操作数除以右操作数的值,然后将结果赋给左操作数 |
%= | 取模并赋值 | x %= 3 | x % 3 | 取左操作数与右操作数的模,然后将结果赋给左操作数 |
//= | 取整除并赋值 | x //= 3 | x // 3 | 将左操作数整除右操作数的值,然后将结果赋给左操作数 |
**= | 幂并赋值 | x **= 3 | x ** 3 | 将左操作数的值提升为右操作数的幂,然后将结果赋给左操作数 |
成员运算符主要用于判断指定值是否存在于某个序列中,如列表、字符串或元组。
list = [1, 2, 3, 4, 5]
print(3 in list) # 判断3是否在列表中
print(6 not in list) # 判断6是否不在列表中
True
True
运算符 | 操作 | 示例 | 结果 | 描述 |
---|---|---|---|---|
in | 若变量存在指定序列中则返回真,否则返回假 | 5 in [1, 2, 3, 4, 5] | True | 若值/变量在序列中则返回真 |
not in | 若变量不在指定序列中则返回真,否则返回假 | 6 not in [1, 2, 3, 4, 5] | True | 若值/变量不在序列中则返回真 |
身份运算符用于比较两对象的内存位置。其主要目的是判断两个变量是否引用了内存中的同一个对象。
x = [1, 2, 3]
y = x
print(y is x) # 因为y和x引用同一对象,所以返回真
print(y is not x) # 同上理,返回假
True
False
运算符 | 操作 | 示例 | 结果 | 描述 |
---|---|---|---|---|
is | 若两变量引用同一对象则返回真,否则返回假 | x is y | 取决于x和y的值 | 若两变量为同一对象则返回真 |
is not | 若两变量不是引用同一对象则返回真,否则返回假 | x is not y | 取决于x和y的值 | 若两变量不是同一对象则返回真 |
有效地理解Python的运算符对于高效编程至关重要。无论是比较变量、调整值还是进行计算,Python的多功能运算符都是这些操作的核心。
==
和=
有何不同?==
用于比较两操作数的值是否相等,返回一个布尔值(True
或False
)。例如,7 == 7
的结果是True
。而=
用于将右操作数的值赋给左边的变量。//
和/
有何不同?/
运算符进行除法并返回一个浮点结果。例如,5 / 2
的结果是2.5
。相比之下,//
进行整除并向下舍入到最接近的整数,所以5 // 2
的结果是2
。&
或|
?is
运算符而不是==
?is
运算符检查两个变量是否引用内存中的同一对象,而不仅仅是它们的值是否相等。例如,两个值相同的列表对于==
可能是True
,但如果它们在内存中是不同的对象,对于is
则是False
。in
和not in
如何在Python的不同数据类型上工作?in
检查是否存在子字符串。在列表或元组中,它检查是否存在项目。例如,'apple' in 'pineapple'
是True
,3 in [1, 2, 3]
也是True
。[Python] 通过多种示例深入了解位运算符 |
---|
[Python] 通过多种示例深入了解关系运算符 |
[Python] 解决 'zsh: command not found: python' 错误的方法 |
[Python] 通过多种示例深入了解赋值运算符 |
[Python] 通过多种示例深入了解算术运算符 |
CloneCoding
创新从一行代码开始!