>>>> one_marx = 'Groucho',
>>>> one_marx
>('Groucho',)
Если в вашем кортеже более одного элемента, ставьте запятую после каждого из них, кроме последнего:
>>>> marx_tuple = 'Groucho', 'Chico', 'Harpo'
>>>> marx_tuple
>('Groucho', 'Chico', 'Harpo')
При отображении кортежа Python выводит на экран скобки. Вам они совсем не нужны — кортеж определяется запятыми, — однако не повредят. Вы можете окружить ими значения, что позволяет сделать кортежи более заметными:
>>>> marx_tuple = ('Groucho', 'Chico', 'Harpo')
>>>> marx_tuple
>('Groucho', 'Chico', 'Harpo')
Кортежи позволяют вам присвоить несколько переменных за один раз:
>>>> marx_tuple = ('Groucho', 'Chico', 'Harpo')
>>>> a, b, c = marx_tuple
>>>> a
>'Groucho'
>>>> b
>'Chico'
>>>> c
>'Harpo'
Иногда это называется распаковкой кортежа.
Вы можете использовать кортежи, чтобы обменять значения с помощью одного выражения, без применения временной переменной:
>>>> password = 'swordfish'
>>>> icecream = 'tuttifrutti'
>>>> password, icecream = icecream, password
>>>> password
>'tuttifrutti'
>>>> icecream
>'swordfish'
>>>>
Функция преобразования tuple() создает кортежи из других объектов:
>>>> marx_list = ['Groucho', 'Chico', 'Harpo']
>>>> tuple(marx_list)
>('Groucho', 'Chico', 'Harpo')
Вы можете использовать кортежи вместо списков, но они имеют меньше возможностей — у них нет функций append(), insert() и т. д., поскольку кортеж не может быть изменен после создания. Почему же не применять везде списки вместо кортежей?
• Кортежи занимают меньше места.
• Вы не сможете уничтожить элементы кортежа по ошибке.
• Вы можете использовать кортежи как ключи словаря (см. следующий раздел).
• Именованные кортежи (см. пункт «Именованные кортежи» раздела «Когда лучше использовать классы и объекты, а когда — модули» главы 6) могут служить более простой альтернативой объектам.
• Аргументы функции передаются как кортежи (см. раздел «Функции» главы 4).
Более детально рассматривать кортежи я не буду. При решении повседневных задач вы будете чаще использовать списки и словари. И это хороший повод перейти к следующей теме.