python求次方的三种方式:

python的次方 python次方函数_数据挖掘


三种方式的区别:

在网络上寻找有关python在求次方上,使用pow和math.pow以及**带来的差异,以便在后续使用中能够择优选择。但就自己的查阅能力,

并没有获取到很有价值的相关介绍,或者各自的计算方法详解。所以通过一定的检测,得出自己的认识。

使用方式差异:
pow支持在次方后,%除一个值

python的次方 python次方函数_python的次方_02


返回值差异:

math.pow()返回的值,总是为float,而**和pow(),根据传入的数据类型,返回的值的类型不同,比如pow(2,2)和pow(2,2.0),前者返回的是int型,后者返回的是float型。

上限差异:
math.pow()的上线,相比与pow和**两种用法,传入的参数限制得很小。

耗时差异:
多次带值测试得如下现象(a,b均为int型):

1,a,b均固定时,重复多次得到每次计算所需要的时间(考虑均值和方差),特征如下:

python的次方 python次方函数_python_03


2,各自,保持b不变,a逐渐增大,如下图;

python的次方 python次方函数_python的次方_04


3,各自,保持a不变,b逐渐增大,如下图(未超出math.pow的上限);

python的次方 python次方函数_线性代数_05


4,超出math.pow上限后,另外两个图的耗时走势,如下图;

python的次方 python次方函数_线性代数_06


总结:

(注:仅从自己能探测的维度总结)

不难发现,math.pow的优缺点是明显的,即,上限小,但运算速度快。而pow和** 两者,在现测的指标中,有类似的表现。