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}')
所有方法都是连接并输出相同内容的可行方法,但是为什么我要选择一个而不是另一个?
答案 0 :(得分:2)
如果name
不是字符串,则#1将不起作用。
#2在任何版本上都可以,但是键入起来有点笨拙。通常,这是跨python版本的最佳兼容性。
#3如果在可读性(和性能)方面是最佳选择。但这仅适用于python3.6 +,因此如果您希望代码向后兼容,则不是一个好主意。
还有#4个旧样式的格式,例如%s,%d等,现在不鼓励使用str.format
。