Python 什么';结束于';打印%d";%(5) &x27;打电话?

Python 什么';结束于';打印%d";%(5) &x27;打电话?,python,python-2.7,linguistics,Python,Python 2.7,Linguistics,我想这是一个语言学问题,但代码中的(5)是什么 打印“%d”%(5) 我把%d称为整数表示,但我不确定它实际表示什么,不管它是数字、变量、计算还是w/e。 这叫争论吗 我很好奇,因为我在为一个作业做注释,我在计算括号中的内容,而不是生成一个新变量,计算变量并插入变量,如x=5;打印“%d”%(x)称之为“值”: 若格式需要单个参数,则值可以是单个非元组对象 %d称为“转换规范”。它们中的每一个都从“值”中的元素中获取一个或多个“参数” 例如,%d接受一个参数,%*d接受两个参数。所有参数构成“值

我想这是一个语言学问题,但代码中的(5)是什么
打印“%d”%(5)

我把
%d
称为整数表示,但我不确定它实际表示什么,不管它是数字、变量、计算还是w/e。 这叫争论吗

我很好奇,因为我在为一个作业做注释,我在计算括号中的内容,而不是生成一个新变量,计算变量并插入变量,如
x=5;打印“%d”%(x)
称之为“值”:

若格式需要单个参数,则值可以是单个非元组对象

%d
称为“转换规范”。它们中的每一个都从“值”中的元素中获取一个或多个“参数”

例如,
%d
接受一个参数,
%*d
接受两个参数。所有参数构成“值”

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

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

要么写

print "%d" % 5
或者是编写单个元素元组的正确方法

print "%d" % (5,)
或者,当您遇到一个确实重要的情况时,您将遇到问题(例如,当您有一个变量而不是
5
,它本身可能是元组,也可能不是元组)

例如:

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

print "%s" % (a)
也会引发TypeError,因为它是完全相同的东西

print "%s" % (a,)

实际打印预期的
“(2,3)”

将其描述为“值”或“参数”,而
%d
是一个“转换规范”。“参数”指的是
%d
”-不,这是“转换规范”,值(或值元组)是参数。@jornsharpe:谢谢,修复了。
print "%s" % (a,)