%d和%s的目的是什么?

时间:2013-06-12 19:26:55

标签: python python-3.x

在你因为提出这个问题而生我的生气之前,我已经找到了答案,但似乎无法确切地知道他们究竟做了什么。 我在SOF上看到了一个名为“marcog”的用户的回答。例如:

name = "marcog"
number = 42
print "%s %d" (name, number)

我所做的就是删除这部分,代码仍然输出完全相同的东西。

name = "marcog"
number = 42
print(name, number)

请您简要说明我们使用它们的原因吗? 顺便说一下,我正在使用3.3.1。

3 个答案:

答案 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))