Python - 这3种打印变量方法有什么区别?

时间:2016-07-12 10:07:00

标签: python string variables printing

我正在尝试教我的朋友Python并向他展示了3种打印不同类型变量的方法,而不需要先将它们转换为字符串,但他想知道应该使用哪一种,我不知道我是谁很长一段时间没有使用过Python,所以希望你可以帮助我们:

print("There are %d people in total" % num_people)

print("There are", num_people, "people in total")

print("There are {} people in total".format(num_people))

我知道format方法可以执行其他更强大的字符串操作操作,但除此之外我不确定哪种方法是首选方法。我不知道为什么第一种方法存在,因为第二种方法似乎更简单。

对此有何想法?谢谢!

2 个答案:

答案 0 :(得分:2)

Python样式指南建议使用format方法。以下是该文档的链接:"PEP 3101"

答案 1 :(得分:1)

关于%.format,请参阅类似this之类的问题,正如其他人所指出的那样。

关于

print("There are", num_people, "people in total")

这实际上只是print()功能提供的便利。签名只允许打印一个参数,而是允许多个参数,这些参数分别转换为字符串,然后用一个空格(默认情况下)作为分隔符连接。这对于快速输出多个对象非常有用,但通常不适合生成格式化输出。只打印以高精度给出的十进制数可能会产生有限可用性的输出。有关其功能的更多信息,请参阅the documentation of print()