这些不同的字符串格式调用的优点是什么?

时间:2018-08-03 08:15:54

标签: python string python-3.x string-formatting string-literals

name = 'John'

#basic method
print('Hello, his name is ' + name)

#.format method
print('Hello, his name is {}'.format(name))

#f-string literal method
print(f'Hello, his name is {name}')

所有方法都是连接并输出相同内容的可行方法,但是为什么我要选择一个而不是另一个?

1 个答案:

答案 0 :(得分:2)

如果name不是字符串,则#1将不起作用。

#2在任何版本上都可以,但是键入起来有点笨拙。通常,这是跨python版本的最佳兼容性。

#3如果在可读性(和性能)方面是最佳选择。但这仅适用于python3.6 +,因此如果您希望代码向后兼容,则不是一个好主意。

还有#4个旧样式的格式,例如%s,%d等,现在不鼓励使用str.format