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