使用内置和 pow() 的指数
可以使用内置的 pow
-function 或**
运算符来使用指数 :
2 ** 3 # 8
pow(2, 3) # 8
对于大多数(全部在 Python 2.x 中)算术运算,结果的类型将是更宽的操作数的类型。对于**
来说,情况并非如此; 以下情况是此规则的例外情况:
-
基数:
int
,指数:int < 0
:2 ** -3 # Out: 0.125 (result is a float)
-
这对 Python 3.x 也有效。
-
在 Python 2.2.0 之前,这提出了一个
ValueError
。 -
基数:
int < 0
或float < 0
,指数:float != int
(-2) ** (0.5) # also (-2.) ** (0.5) # Out: (8.659560562354934e-17+1.4142135623730951j) (result is complex)
-
在 python 3.0.0 之前,这提出了一个
ValueError
。
operator
模块包含两个与**
-operator 相同的功能:
import operator
operator.pow(4, 2) # 16
operator.__pow__(4, 3) # 64
或者可以直接调用 __pow__
方法:
val1, val2 = 4, 2
val1.__pow__(val2) # 16
val2.__rpow__(val1) # 16
# in-place power operation isn't supported by immutable classes like int, float, complex:
# val1.__ipow__(val2)