Python;запятая в конце старого списка аргументов форматера - PullRequest
1 голос
/ 31 декабря 2011

Просто быстрый вопрос: Что делает запятая в следующем утверждении:

    print "Average = %s" % (avg,)

Кажется, я просто не могу найти соответствующую документацию.

Ответы [ 3 ]

5 голосов
/ 31 декабря 2011

Превращает список аргументов в кортеж.Без запятой в скобках одно значение в скобках - это значение в скобках.

2 голосов
/ 31 декабря 2011

Запятая превращает его в кортеж.

Вы можете сделать либо:

print "Average = %s" % (avg,)

Или без кортежа:

print "Average = %s" % avg

Но кортеж означает, что его легко расширить, например,

print "Average = %s \n Total = %s" % (avg, total)

Это, вероятно, причина, по которой этот человек использовал кортеж и предоставил только один аргумент. В последнем примере вы можете добавить еще одну запятую, (avg, total,) или не указывать ее. Либо работает.

1 голос
/ 31 декабря 2011

Создает кортеж из одного элемента:

>>> x = ('hello')
>>> type(x)
<type 'str'>
>>> x = ('hello',)
>>> type(x)
<type 'tuple'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...