Filed under实战开发指南on•3 分钟阅读

[Python] 运算符的种类与含义

Python中的运算符是构建有意义程序的基础。与数学符号相似,Python的运算符具有特定的功能。在本文中,我们将深入探讨Python中的各种运算符,解释其功能,并提供样例代码以便更清晰地理解。 Python中的运算符类型 算术运算符 Arithmetic Operators 算术运算符用于基本的数学运算。这些运算符支...

Python中的运算符是构建有意义程序的基础。与数学符号相似,Python的运算符具有特定的功能。在本文中,我们将深入探讨Python中的各种运算符,解释其功能,并提供样例代码以便更清晰地理解。

Python中的运算符类型

算术运算符 (Arithmetic Operators)

算术运算符用于基本的数学运算。这些运算符支持如加法、减法、乘法和除法等主要的计算。

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 对操作数执行指数(幂)计算

关系运算符 (Relational Operators)

关系运算符用于比较两个操作数的值。通过这些运算符,我们可以评估两个值是否相等,一个值是否大于另一个值,或一个值是否小于另一个值。它们基于比较的结果返回一个布尔值。

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 如果左操作数小于或等于右操作数,则为真

逻辑运算符 (Logical Operators)

逻辑运算符用于评估多个条件的真假。它们主要用于通过组合各种条件产生最终的逻辑结果(真或假)以控制程序的流程。

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 操作数为假时为真(对操作数进行取反)

位运算符 (Bitwise Operators)

位运算符作用于数字的二进制表示。它们在操作数的各个位上执行操作,从而在位级上实现逻辑运算、移位和取反操作。

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 将数字的位向右移动

赋值运算符 (Assignment Operators)

赋值运算符用于为变量赋值。除基本赋值外,这些运算符还提供了将操作与赋值结合的功能。例如,它们可以给一个值加上一个特定的数字,然后将结果赋给一个变量。

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 将左操作数的值提升为右操作数的幂,然后将结果赋给左操作数

成员运算符 (Membership Operators)

成员运算符主要用于判断指定值是否存在于某个序列中,如列表、字符串或元组。

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 若值/变量不在序列中则返回真

身份运算符 (Identity Operators)

身份运算符用于比较两对象的内存位置。其主要目的是判断两个变量是否引用了内存中的同一个对象。

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的多功能运算符都是这些操作的核心。


FAQs

  1. Python中==和=有何不同?

    • ==用于比较两操作数的值是否相等,返回一个布尔值(True或False)。例如,7 == 7的结果是True。而=用于将右操作数的值赋给左边的变量。
  2. Python中//和/有何不同?

    • /运算符进行除法并返回一个浮点结果。例如,5 / 2的结果是2.5。相比之下,//进行整除并向下舍入到最接近的整数,所以5 // 2的结果是2。
  3. 何时应使用位运算符如&或|?

    • 位运算符直接在数字的二进制表示上执行操作。在特定场景中,如在数据处理或低级编程中操纵单个位时,它们非常有用。
  4. 为什么使用is运算符而不是==?

    • is运算符检查两个变量是否引用内存中的同一对象,而不仅仅是它们的值是否相等。例如,两个值相同的列表对于==可能是True,但如果它们在内存中是不同的对象,对于is则是False。
  5. in和not in如何在Python的不同数据类型上工作?

    • 成员运算符用于测试存在性。在字符串中,in检查是否存在子字符串。在列表或元组中,它检查是否存在项目。例如,'apple' in 'pineapple'是True,3 in [1, 2, 3]也是True。
返回全部文章首页