2010-11-10 28 views

回答

14

没有明确元组的代码可能会咬你,如果你的变量包含一个元组。

>>> nums = (1, 2, 3, 4) 
>>> print "debug: %r" % (nums,) 
debug: (1, 2, 3, 4) 
>>> print "debug: %r" % nums 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: not all arguments converted during string formatting 

因此,总是在格式字符串语法中使用元组是防御性编码的一部分。

0

如果您有一个替代变量,它们就会完全相同。

docs

鉴于format % values(你的情况format = “用户连接:%d”,和values = USERCOUNT)

如果格式需要一个参数, 值可以是单个非元组 对象否则,值必须是 元组,其格式字符串指定的项目数 的数量必须为 或单个映射对象为 (例如, 字典)

0

在这种情况下是的,因为只有物品通过。如果您需要将多个项目需要

print 'There are %d user connected %s' % (userCount, 'today') 
0

是的,他们有一个元组,但括号是用来组变量,在这种条件下

print "Hi there. I am %s and i am %d years old"%(name, age) 

因此,它的基本用法,与一个或多个变量...

-1

他们有相同的输出,但代码看起来不同。每个软件开发人员都根据他们犯的错误类型制定了多年的“风格”。如果您倾向于忘记单元组元组中的逗号,或者如果您为不同版本的Python编写代码,或者只是想让您的生活更轻松,以防需要添加更多参数,则可能会导致“我总是使用元组“作为上面的代码。

相关问题