python x。** y与math.pow(x,y)中的指数

问题描述 投票:40回答:5

使用math.pow或**运算符哪个更有效?什么时候应该使用另一个?

到目前为止,我知道如果使用小数,x**y可以返回intfloat函数pow将返回浮点数

import math

print math.pow(10, 2)

print 10. ** 2
python math built-in pow
5个回答
81
投票

使用超级操作员**会更快,因为它不会产生函数调用的开销。如果您反汇编Python代码,则可以看到此信息:


4
投票
嗯,它们确实是用于不同的任务。

4
投票
仅用于协议:如果前两个参数是整数类型,question运算符将调用**,该参数接受可选的第三个参数(模)。

2
投票
[http://ideone.com/KnEtXj确实比pow快,但是如果您想要像示例中那样的简单二次函数,则使用乘积甚至更快。

0
投票
pow()函数将允许您添加第三个参数作为模数。
© www.soinside.com 2019 - 2024. All rights reserved.