![](/img/trans.png)
[英]Idiomatic Python logging: format string + args list vs. inline string formatting - which is preferred?
[英]Python str() vs. '' - which is preferred
我使用了一些使用str()的示例代码而不是我常用的''表示空字符串的习惯。 使用str()有一些优势吗? 例如:
# .....
d = dict()
# .....
# .....
if v is None:
d[c.name] = str()
else:
d[c.name] = v
它看起来似乎更慢。
$ python -m timeit "'.'.join(str(n)+'' for n in range(100))"
100000 loops, best of 3: 12.9 usec per loop
$ python -m timeit "'.'.join(str(n)+str() for n in range(100))"
100000 loops, best of 3: 17.2 usec per loop
唯一的好处是,如果str
在本地重新定义,那么str()
将使用该定义,而''
则不会。 否则,它们是等价的(尽管不相同,因为编译器将在一种情况下发出函数调用而在另一种情况下发出文字)。
参考Python手册 str()
用于:
bytes
(或其他字节序列,如bytearray
)转换为字符串 在所有其他情况下,您应该使用''
。
空str()
调用返回空字符串的事实是副作用,而不是该方法的预期主要用途。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.