Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 58

не нужны — кортеж определяется запятыми, — однако не повредят. Вы може-

те окружить ими значения, что позволяет сделать кортежи более заметны-

ми:

>>> 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'

Словари

83

>>> password, icecream = icecream, password

>>> password

'tuttifrutti'

>>> icecream

'swordfish'

>>>

Функция преобразования tuple() создает кортежи из других объектов:

>>> marx_list = ['Groucho', 'Chico', 'Harpo']

>>> tuple(marx_list)

('Groucho', 'Chico', 'Harpo')

Кортежи против списков

Вы можете использовать кортежи вместо списков, но они имеют меньше возмож-

ностей — у них нет функций append(), insert() и т. д., поскольку кортеж не может

быть изменен после создания. Почему же не применять везде списки вместо кор-

тежей?

 Кортежи занимают меньше места.

 Вы не сможете уничтожить элементы кортежа по ошибке.

 Вы можете использовать кортежи как ключи словаря (см. следующий раз-

дел).

 Именованные кортежи (см. пункт «Именованные кортежи» раздела «Когда

лучше использовать классы и объекты, а когда — модули» главы 6) могут слу-

жить более простой альтернативой объектам.

 Аргументы функции передаются как кортежи (см. раздел «Функции» главы 4).

Более детально рассматривать кортежи я не буду. При решении повседневных

задач вы будете чаще использовать списки и словари. И это хороший повод перейти

к следующей теме.

Словари

Словарь очень похож на список, но порядок элементов в нем не имеет значения,