首页 > 解决方案 > 为什么在 python 中使用占位符?

问题描述

a = "hello"
b = 32
print('%s %d' % (a, b))
print(a,b)

两个 print 语句都会给出相同的输出,即 hello 32。但是使用 print(a,b) 比其他方法容易得多,所以为什么 python 中存在占位符的概念。

标签: python

解决方案


因为有时您想在项目之间放置空格以外的东西。如果我想获取姓名、电子邮件地址和雇主并生成一些格式化结果怎么办?

d = { "first": "Patrick",
      "last": "Haugh",
      "email": "Patrick.Haugh@example.com",
      "job": "My Job"}

print("{first} {last} <{email}> {job}".format(**d))
# Patrick Haugh <Patrick.Haugh@example.com> My Job

print("{last}, {first}: {job} <{email}>".format(**d))
# Haugh, Patrick: My Job <Patrick.Haugh@example.com>

然后,您可以编写接受格式字符串的代码,因此如果您想更改输出格式的方式,则无需更改代码本身。我建议您阅读文档Format String Syntax以进一步了解可能的情况。


推荐阅读