Python 哪一种印刷品是;“更多”;对的

Python 哪一种印刷品是;“更多”;对的,python,Python,在Python3下,什么被认为是最正确的 示例1: a='bacon' b='salad' print("I love {type_a} more than {type_b}".format(type_a=a, type_b=b)) a='bacon' b='salad' print("I love {} more than {}".format(a, b)) 或 示例2: a='bacon' b='salad' print("I love {type_a} more than {type_

在Python3下,什么被认为是最正确的

示例1:

a='bacon'
b='salad'
print("I love {type_a} more than {type_b}".format(type_a=a, type_b=b))
a='bacon'
b='salad'
print("I love {} more than {}".format(a, b))

示例2:

a='bacon'
b='salad'
print("I love {type_a} more than {type_b}".format(type_a=a, type_b=b))
a='bacon'
b='salad'
print("I love {} more than {}".format(a, b))

这是因为有时我看到自己用两个给定的示例进行编码,但我不确定什么是最正确的使用方法,以及何时使用
.format(type_a=a)
而不是
。format(a)
两者几乎相同,除了第一种形式,您可以重新排列传入变量的顺序,第二种形式按照传入变量的顺序获取变量。

如果您预期使用不同的语言,第一种形式更合适,因为句子中的单词顺序可能需要不同。或者如果你的代词来自词典


第二种形式更短,更直接。除非我有其他选择的理由,否则我会选择它。

基本上,当您只想打印这样的内容时:“
var1,var2,var3,
”,无论您使用何种格式。这只是一个风格和长度的问题:一方面,第一个例子更明确,但另一方面,它发生的地方更多,可能需要一条新的线,这通常不太明显

但是第一个表单仍然有用的地方是当您有类似“
var1var2var1var3var1
”的内容时。然后,您也有两个解决方案:

# 1
print("{} {} {} {} {}".format(var1, var2, var1, var3, var1))
# 2
print("{v1} {} {v1} {} {1}".format(var2, var3, v1=var1))

第二种解决方案通常更好,但需要在最后一种方案中编写关键字参数可能会导致一些错误。

更重要的是,在整个代码中使用单引号或双引号。并使用任何使您的代码更易于阅读和理解的方式,而不是别人认为“更正确”的方式,这是指前者,而不是后者。如果您必须从上下文中删除字符串(例如,如果您必须将字符串交给翻译人员),则首选第一种形式。第二种形式是,首先,当第二个不清楚或无法用第二种形式表达时。@josten我完全同意你的观点,但我希望我的项目中只有2+1或1+2,而不是两者:)是的,但有时示例二破坏了我保持78列限制的努力。那么我就在正轨上了,谢谢大家的支持replying@Thales它们的输出相同,但一个使用关键字替换,另一个按参数顺序替换。