在你因为提出这个问题而生我的生气之前,我已经找到了答案,但似乎无法确切地知道他们究竟做了什么。 我在SOF上看到了一个名为“marcog”的用户的回答。例如:
name = "marcog"
number = 42
print "%s %d" (name, number)
我所做的就是删除这部分,代码仍然输出完全相同的东西。
name = "marcog"
number = 42
print(name, number)
请您简要说明我们使用它们的原因吗? 顺便说一下,我正在使用3.3.1。
答案 0 :(得分:12)
告诉print
输出字符串(%s
)和有符号整数(%d
)。如果您想要更复杂的输出,这将更有用。例如:
print("Hello %s your number is %d" % (name, number))
使用您给出的样本值,将输出:
你好marcog你的号码是42
答案 1 :(得分:6)
它们用于%
(模数)运算符的字符串格式化(主要包含变量)。它主要基于C的标准lib printf调用 - 完整的文档在这里:
http://docs.python.org/2/library/stdtypes.html#string-formatting
答案 2 :(得分:2)
字符串格式是一个字符串操作,因此它不一定需要与print语句一起使用。
my_string = "%s %d"%("foo bar", 5)
foo, bar, five = my_string.split()
print("%s %d %s"%(bar, five, foo))