Python:旧格式化参数列表末尾的逗号
我有个简单的问题:
在下面这个语句中,逗号的作用是什么:
print "Average = %s" % (avg,)
我好像找不到相关的文档。
3 个回答
2
逗号让它变成了一个元组。
你可以这样做:
print "Average = %s" % (avg,)
或者不使用元组:
print "Average = %s" % avg
但是使用元组的好处是,扩展起来很简单,比如说:
print "Average = %s \n Total = %s" % (avg, total)
这可能就是这个人选择使用元组并且只提供一个参数的原因。在最后一个例子中,你可以选择加一个结尾的逗号,(avg, total,)
,或者不加。两种方式都可以。
2
这段代码创建了一个只有一个元素的元组:
>>> x = ('hello')
>>> type(x)
<type 'str'>
>>> x = ('hello',)
>>> type(x)
<type 'tuple'>
5
这句话的意思是,它把参数列表变成了一个元组。如果没有最后的逗号,那么在括号里的单个值就只是那个值本身,而不是一个元组。