python - 对于 python 字符串连接,%s 是否比 + 快

标签 python performance

了解使用 str.join 运算符是在 python 中连接字符串的“选择”方式,我在该类型的优先顺序操作中徘徊:

 "%s %s" % (first_name, last_name)

适合。它们比使用 + 更快还是更慢?

最佳答案

让我们看看:

>>> first_name = 'Test'
>>> last_name = 'Name'

>>> %timeit "%s %s" % (first_name, last_name)
10000000 loops, best of 3: 168 ns per loop

>>> %timeit ' '.join((first_name, last_name))
10000000 loops, best of 3: 157 ns per loop

>>> %timeit first_name + ' ' + last_name
10000000 loops, best of 3: 103 ns per loop

如果你缓存元组:

>>> name_tuple = (first_name, last_name)

>>> %timeit "%s %s" % name_tuple
10000000 loops, best of 3: 125 ns per loop

>>> %timeit ' '.join(name_tuple)
10000000 loops, best of 3: 114 ns per loop

关于python - 对于 python 字符串连接,%s 是否比 + 快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15127437/

相关文章:

python - 模块未找到错误: No module named 'ebcli'

python - Django Query 获取多少封电子邮件重复了多少次

python - 如何正确重写 clean() 方法

c++ - vftable 性能损失与 switch 语句

python - 遍历 NumPy 数组行/列并修改值

python - 属性错误 : 'module' object has no attribute 'utcnow'

java - Java 中的错误处理权衡

c# - MongoDB C# 驱动程序 - 更新许多文档时的性能问题

javascript - 对于字符串, [x,y,z].join ('' ) 真的比 x + y + z 快吗?

c - 优化速度 - C 中的 4 维数组查找