不是完美的基准但是
$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
Run Code Online (Sandbox Code Playgroud)
你说得对,使用一个format是稍微慢一些.但谁在乎?你不会在性能关键的应用程序中做这种事情,对吧?
如果你想要解释为什么format应该慢一些,那是因为它必须解析格式字符串.这比简单地将数字转换为字符串和连接更为复杂.我很惊讶,差异就像它一样小.