可以通过使用内置的pow-function或**运算符来使用幂运算:
2 ** 3 # 8 pow(2, 3) # 8
对于大多数(在Python 2.x中都是)算术运算,结果的类型将是更宽的操作数的类型。这是不正确的**;以下是该规则的例外情况:
基数:int,指数int < 0::
2 ** -3
# 出:0.125(结果是浮点数)
这对于Python 3.x也有效。
在Python 2.2.0之前,它引发了一个ValueError。
基数:int < 0或float < 0,指数:float != int
(-2) ** (0.5) # 也(-2。)**(0.5)
# 出:(8.659560562354934e-17 + 1.4142135623730951j)(结果很复杂)
在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 # 不可变的类(如int,float,complex)不支持就地电源操作: # val1 .__ ipow __(val2)