尝试一些代码并做一些微基准测试,我发现使用float函数对包含整数的字符串比在同一个字符串上使用int要快2倍。
>>> python -m timeit int('1')
1000000 loops, best of 3: 0.548 usec per loop
>>> python -m timeit float('1')
1000000 loops, best of 3: 0.273 usec per loop
当测试int(float(‘1’))哪个运行时比int(‘1’)更短时,它变得更陌生。
>>> python -m timeit int(float('1'))
1000000 loops, best of 3: 0.457 usec per loop
我测试了Windows 7运行cPython 2.7.6和Linux Mint 16与cPython 2.7.6的代码。
我必须补充说,只有Python 2受到影响,Python 3显示运行时间之间的差异(不显着)。
我知道我通过这样的微基准得到的信息很容易被滥用,但我很好奇为什么在功能运行时有这样的区别。
我试图找到int和float的实现,但我不能在源中找到它。