在python 3下,什么才算最正确?
示例1:
a='bacon'
b='salad'
print("I love {type_a} more than {type_b}".format(type_a=a, type_b=b))
或
示例2:
a='bacon'
b='salad'
print("I love {} more than {}".format(a, b))
这是因为有时候我看到自己用两个给定的例子进行编码,但我不确定什么是最正确的使用方式,什么时候更适合使用.format(type_a=a)
代替.format(a)
答案 0 :(得分:4)
如果您预期使用不同的语言,则第一种形式更合适,因为句子中单词的顺序可能需要不同。或者,如果您的替换来自字典。
第二种形式更短更直接。除非我有理由选择其他方式,否则这是我更喜欢的那个。
答案 1 :(得分:3)
它们几乎完全相同,除了在第一个中你可以重新排列传入的变量的顺序,第二个按照它们传入的顺序获取变量。
答案 2 :(得分:1)
基本上,当你只想打印这样的东西时:“var1, var2, var3, ...
”,无论你使用什么形式。它只是一个样式和长度的问题:一方面,第一个例子更明确,但另一方面,它需要更多的地方,可能需要一个新的线,一般不太明显。
但是第一种形式仍然有用的地方是你有“var1 var2 var1 var3 var1
”之类的东西。然后,你也有两个解决方案:
# 1
print("{} {} {} {} {}".format(var1, var2, var1, var3, var1))
# 2
print("{v1} {} {v1} {} {1}".format(var2, var3, v1=var1))
第二种解决方案通常更好,但是在最后编写关键措辞参数的需要会导致一些错误。