2020年9月5日 / 300次阅读 / Last Modified 2020年9月5日
内置函数,数值计算
很长一段时间,我都没有直接使用pow函数,用**符号可以替代它。不过,pow函数也有其可以使用的情况。
pow函数还有一个可选的mod参数,用来做模运算,如果你需要在X次方后再取模,使用pow可能更快的计算出结果。
$ python3 -m timeit '(123456**300)%8'
50000 loops, best of 5: 7.32 usec per loop
$ python3 -m timeit 'pow(123456,300,8)'
500000 loops, best of 5: 556 nsec per loop
这种情况,使用pow函数。
在计算开任意次方根的时候,**运算符能够有更好的性能:
$ python3 -m timeit '1234512345**(1/300)'
50000000 loops, best of 5: 5.42 nsec per loop
$ python3 -m timeit 'pow(1234512345,1/300)'
2000000 loops, best of 5: 108 nsec per loop
$ python3 -m timeit '1234512345**1.25'
50000000 loops, best of 5: 5.41 nsec per loop
$ python3 -m timeit 'pow(1234512345,1.25)'
2000000 loops, best of 5: 105 nsec per loop
用**快好多呀......
本文的测试数据是通过在命令行使用timeit模块获得。
-- EOF --
本文链接:https://www.pynote.net/archives/2452
前一篇:用pydoc查看导出docstring
后一篇:python热补丁机制
©Copyright 麦新杰 Since 2019 Python笔记