什么是“打印”%d“%(5)”的结束?

时间:2014-09-04 12:57:52

标签: python python-2.7 linguistics

我猜这是一个语言问题,但是代码中调用了(5)的内容 print "%d" % (5)

我将%d称为整数表示,但我不确定将其实际表示的内容称为什么,无论它是数字,变量,计算还是 w / ë。 它被称为争论吗?

我想知道是因为我正在为一项作业发表评论,我在括号中计算东西而不是制作一个新变量,计算变量并插入变量如{{1} }

2 个答案:

答案 0 :(得分:2)

The documentation称之为"值":

  

如果 format 需要一个参数, values 可能是一个非元组对象。

%d被称为"转换规范"。他们每个人都需要一个或多个"参数"来自"值"中的元素。

例如,

%d需要一个参数,%*d需要两个参数。所有论点都构成了#34;值"。

这意味着5%d的参数,而(5)是"值"对于整个格式。

答案 1 :(得分:0)

(5)实际上是一个非常具有误导性的东西:它看起来像是一个元组,但它只是一个带有parens的整数!

print "%d" % 5

或编写单元素元组的正确方法,

print "%d" % (5,)

或者稍后当你遇到重要的情况时会遇到问题(比如代替5时,你有一个可能或可能不是元组的变量)。

如,

a = (2, 3)

print "%s" % a

引发TypeError,因为a有两个元素且只有一个%

print "%s" % (a)

也会引发TypeError,因为它完全相同,而且

print "%s" % (a,)

实际打印出预期的"(2, 3)"