Skip to content

运算符简介

在编程世界里,运算符就像工具,它们可以对数据执行各种操作。你可以把它们想象成数学中的加、减、乘、除符号,但实际上,运算符的功能远不止于此。它们可以比较数值,组合逻辑,甚至直接操作数据的二进制位。

操作数 (Operands) 是运算符作用的对象,也就是运算符所处理的数据。

一元运算符:单兵作战

一元运算符只需要一个操作数就能完成任务。它们通常位于操作数的左侧。

Python 中常见的一元运算符有:

  • + (正号):这个运算符不会改变数值的正负性,只是为了代码的可读性,明确表示一个数为正数。
  • - (负号):这个运算符会将数值取反,正数变负数,负数变正数。
  • ~ (按位取反):这是一个位运算符,它将整数的每一位取反。对于整数 x~x 的结果是 -(x + 1)。 理解位运算需要一些二进制的知识,可以先简单记住这个公式。
python
x = 5
print(-x)  # 输出: -5
print(+x)  # 输出: 5
print(~x)  # 输出: -6

# 解释 ~5:
# 5 的二进制表示是 00000101
# 按位取反后是 11111010
# 这个二进制补码表示 -6

二元运算符:协同工作

二元运算符需要两个操作数才能完成任务,它们位于两个操作数之间。我们平时使用的加减乘除都属于二元运算符。

例如,a + b 中,+ 是运算符,ab 是操作数。

Python 运算符家族

Python 提供了非常丰富的运算符,大致可以分为以下几类:

  • 算术运算符: 用于执行基本的数学运算,例如加、减、乘、除等。 包括 +, , *, /, % (求余数), ** (乘方), // (地板除,即取整数部分).
  • 关系运算符 (比较运算符): 用于比较两个值之间的关系,例如相等、大于、小于等。 包括 == (等于), != (不等于), > (大于), >= (大于等于), < (小于), <= (小于等于).
  • 赋值运算符: 用于将一个值赋给变量。 除了简单的 = 之外,还有复合赋值运算符,例如 +=, -=, *=, /=, %=, **=, //=.
  • 逻辑运算符: 用于组合或修改布尔值(True 或 False)。 包括 not (非), or (或), and (与).
  • 身份运算符: 用于比较两个对象是否是同一个对象,即它们在内存中的地址是否相同。 包括 is, is not.
  • 成员运算符: 用于检查一个值是否存在于一个序列(例如列表、元组、字符串)中。 包括 in, not in.
  • 位运算符和移位运算符: 用于直接操作整数的二进制位。 包括 & (按位与), | (按位或), ^ (按位异或), ~ (按位取反), << (左移), >> (右移). 位运算相对高级,初学者可以稍后学习。