0

为了在 Python 中计算指数,我们使用**命令。例如,我们输入x**3x 的立方体。Python 如何评估这样的多项式?这个计算中使用了 3 次翻牌吗?非整数指数呢?说x**2.3

4

1 回答 1

8

**运算符转换为字节码中的BINARY_POWER操作码,然后解释器将其转换为 C-APIPyNumber_Power调用,并将第三个参数设置为 None。

PyNumber_Power调用操作数上的nb_power(参见 参考资料ternary_op)。

如果两者都是整数,则int_powC 函数成功并使用其结果。

然而,如果x它是一个整数并且您将2.3其用作幂,则整数幂函数会引发错误并float_pow在接下来尝试。在这种情况下,如果x大于 0,则 C 库pow()函数用于两个浮点值,然后在大多数架构上由 CPU 中的浮点支持处理。

于 2013-03-19T14:45:03.880 回答