不完美的基准,但为什么Python的str.format比字符串连接
$python --version
Python 3.4.2
$ python -m timeit 'print("foo" + str(3.14) + "bar")'
100000 loops, best of 3: 16.4 usec per loop
$ python -m timeit 'print("foo{}bar".format(3.14))'
100000 loops, best of 3: 19.2 usec per loop
'format()'比单纯的字符串连接强大得多,所以我不认为这个(如果它根本就是一个显着的区别)是令人惊讶的。 – 2014-11-06 11:59:48
你应该删除'print'调用,这是没有理由的。 – interjay 2014-11-06 12:01:54
我在没有''print''命令的i7笔记本电脑上多次运行这个程序。它们同样快,每循环0.345次(+/- 0.004 usec)。包括打印命令与29.7 usec(+/- 0.1 usec)都没有区别。在所有人都认为性能存在差异之前,您可以使用多个测试的结果更新问题,而不需要使用打印命令。 – 2014-11-06 12:11:20