Python 从 2.0 版本开始引入了运算符,用于简化代码并增加可读性。下面是一些常见的运算符及其用法。
+ # 加法 - # 减法 * # 乘法 / # 浮点数除法 // # 整数除法,相当于 math.floor() % # 取模,即求余数 ** # 幂运算
在使用运算符时需要注意一些问题。首先,除数为 0 时,会触发 ZeroDivisionError 异常。其次,浮点数运算存在精度问题,可能会导致意外的结果。
a = 1.1 b = 2.2 print(a + b) # 3.3000000000000003
为了避免精度问题,可以使用 decimal 模块或者使用整数计算后再转换回浮点数的方法。
import decimal a = decimal.Decimal('1.1') b = decimal.Decimal('2.2') print(a + b) # Decimal('3.3') a = 11 b = 22 print(float(a + b) / 10) # 3.3
最后,Python 还支持运算符的重载。这意味着我们可以自定义类的运算符行为。
class Vector: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): return Vector(self.x + other.x, self.y + other.y) def __str__(self): return '(%s, %s)' % (self.x, self.y) v1 = Vector(1, 2) v2 = Vector(3, 4) v3 = v1 + v2 print(v3) # (4, 6)