你能描述一下两种字符串拼接的不同方式吗:简单的
还有另一个问题出现了:为什么
以下是一些代码示例:
__add__
运算符和%s
模式?
我对这个问题进行了一些调查,发现使用%s
(不使用括号形式)会稍微快一些。还有另一个问题出现了:为什么
'hell%s' % 'o'
的结果引用了另一个内存区域,而'hell%s' % ('o',)
没有?以下是一些代码示例:
l = ['hello', 'hell' + 'o', 'hell%s' % 'o', 'hell%s' % ('o',)]
print [id(s) for s in l]
结果:
[34375618400, 34375618400, 34375618400, 34375626256]
附言:我知道字符串内部化 :)