python:为什么使用%s而不是直接调用变量

2024-03-29 10:02:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是想知道为什么使用%s而不是直接调用变量ex:

playername = "george" 

print "my name is %s" % playername
print "my name is", playername

直接调用变量要短一点,而且它们都会打印出相同的结果,所以如果我放弃使用%的话,有没有一些我还没有学到的东西会回来咬我?在


Tags: nameismyexprintgeorgeplayername
3条回答

如果你提到你可以同时做这两件事,没有理由不表现出个人喜好。在

但是,当前的python标准要求您实际执行以下操作:

print("my name is {}".format(playername))

或者类似的,因为前两种方法都容易出错。错过空格、错误定义类型等的机会

这是relevant PEP,它包含了一些好的有理数和示例。在

在这种情况下,这两种方法本质上是相同的。我也会用第二种方式来做:-)但是更华丽的格式结构在更华丽的上下文中绝对有用——不管哪种方式更容易阅读。在最近的Python中,还有:

print "my name is {}".format(playername)

这种方式比“%”格式更灵活,更不容易出错。一切都在适当的时候;—)

在这种特定情况下,最大的原因是"my name is %s" % playername提供了一个字符串,您可以对其进行操作、返回或其他处理。您可以将print替换为return,并使其工作不变。在

这根本不是什么大的区别,但这是您可能希望以这种方式构建输出的原因。在

相关问题 更多 >