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

kia*_*asy 3 python python-3.x

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

name = "marcog"
number = 42
print "%s %d" (name, number)
Run Code Online (Sandbox Code Playgroud)

我当时做的是删除这部分,代码仍然输出完全相同的东西.

name = "marcog"
number = 42
print(name, number)
Run Code Online (Sandbox Code Playgroud)

您能简单解释一下我们使用它们的原因吗?顺便说一下,我正在使用3.3.1.

Ste*_*eve 12

它告诉print输出string(%s)和有符号整数(%d).如果您想要更复杂的输出,这将更有用.例如:

print("Hello %s your number is %d" % (name, number))
Run Code Online (Sandbox Code Playgroud)

使用您给出的样本值,这将输出:

你好marcog你的号码是42

  • 这个问题明确提到了Python 3,你使用了Python 2语法. (2认同)

jsb*_*eno 6

它们用于%(modulo)运算符的字符串格式化(主要包含变量).它主要基于C的标准lib printf调用 - 完整的文档在这里:

http://docs.python.org/2/library/stdtypes.html#string-formatting