Глава 11 · Очень много информации!
Кортежи
Почти список, но неизменяемый — и именно поэтому иногда более подходящий выбор.
Кортеж (tuple) — почти то же самое, что
список, но в круглых скобках и с одним принципиальным отличием: кортежи
неизменяемы — после создания их нельзя изменить.
kortezhi.py
coords = (10, 20)
print(coords)
print(coords[0]) # 10 — индексация работает как у списков
kortezh_nelzya_menyat.py
coords = (10, 20)
coords[0] = 99 # TypeError: 'tuple' object does not support item assignment
Зачем нужны неизменяемые коллекции?
Неизменяемость — не недостаток, а гарантия: если вы передаёте координаты точки в другую часть программы как кортеж, вы точно знаете, что их никто случайно не изменит. Кортежи часто используют для координат, RGB-цветов и других «пакетов» значений, которые логически представляют собой единое целое.
Распаковка кортежа
raspakovka.py
coords = (10, 20)
x, y = coords
print(x, y) # 10 20
Мы уже пользовались распаковкой
artist.position() в модуле turtle возвращает именно такой кортеж (x, y) — можно сразу распаковать его в две переменные.Практика в Jupyter Notebook
11-06-kortezhi.ipynb · кортежи и распаковка