数字运算
所有数字类型都支持下列运算(复数不支持 // 和 %):
x + y
, x 和 y 的和x - y
, x 和 y 的差x * y
, x 和 y 的乘积x / y
, x 和 y 的商x // y
, x 和 y 的商数x % y
, x / y 的余数-x
, x 取反+x
, x 不变x ** y
, x 的 y 次幂
Python 完全支持数字的混合运算:当一个二元算术运算符的操作数有不同数值类型时,“较窄” 类型的操作数会拓宽到另一个操作数的类型。其中整数比浮点数窄,浮点数比复数窄。但整数除以整数得到浮点数。
运算示例如下:
True + 1 + 3.14
5.140000000000001
True + 1 + 3.14 + 0j
(5.140000000000001+0j)
3/3, 3/1j
(1.0, -3j)
6//2, 6//2.0
(3, 3.0)
6%4, 6%3.0
(2, 0.0)
3**2, 3**2.0, 3**0j
(9, 9.0, (1+0j))
优先级升序排列如下:
+, -
加和减*, /, //, %
乘,除,整除,取余+x, -x
正,负**
乘方
幂运算符 ** 绑定的紧密程度低于在其右侧的算术:
1 + -20 * 4**-1
-4.0
为了易读,应该多使用小括号:
1 + (-20) * 4**(-1)
-4.0