Python:旧格式化参数列表末尾的逗号

3 投票
3 回答
1864 浏览
提问于 2025-04-17 09:19

我有个简单的问题:

在下面这个语句中,逗号的作用是什么:

    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

这句话的意思是,它把参数列表变成了一个元组。如果没有最后的逗号,那么在括号里的单个值就只是那个值本身,而不是一个元组。

撰写回答