Понимание кортежей
На этом этапе вы узнаете о кортежах (tuples) в Python. Кортежи - это фундаментальная структура данных, похожая на списки, но с важной разницей: они неизменяемы. Это означает, что после создания кортежа его элементы нельзя изменить. Эта неизменяемость делает кортежи полезными для представления фиксированных наборов элементов.
Начнем с создания простого кортежа:
my_tuple = (1, 2, 3)
print(my_tuple)
Создайте файл с именем tuple_example.py
в директории ~/project
с помощью редактора VS Code. Скопируйте и вставьте приведенный выше код в файл.
Теперь запустите скрипт, используя следующую команду в терминале:
python tuple_example.py
Вы должны увидеть следующий вывод:
(1, 2, 3)
Кортежи определяются с использованием круглых скобок ()
и элементы разделяются запятыми.
Теперь попробуем получить доступ к элементам кортежа:
my_tuple = (1, 2, 3)
print(my_tuple[0])
print(my_tuple[1])
print(my_tuple[2])
Добавьте эти строки в файл tuple_example.py
и запустите его снова:
python tuple_example.py
Вы должны увидеть следующий вывод:
(1, 2, 3)
1
2
3
Вы можете получить доступ к элементам кортежа по их индексу, как и в списках. Помните, что индексация начинается с 0.
Теперь попробуем изменить кортеж:
my_tuple = (1, 2, 3)
my_tuple[0] = 4 ## This will cause an error
Добавьте эту строку в файл tuple_example.py
. При запуске скрипта вы столкнетесь с ошибкой TypeError
:
python tuple_example.py
Traceback (most recent call last):
File "/home/labex/project/tuple_example.py", line 2, in <module>
my_tuple[0] = 4
TypeError: 'tuple' object does not support item assignment
Это сообщение об ошибке подтверждает, что кортежи неизменяемы. Вы не можете изменить их элементы после создания.
Кортежи также могут содержать разные типы данных:
my_tuple = (1, "hello", 3.14)
print(my_tuple)
Измените файл tuple_example.py
, чтобы он включал этот код, и запустите его:
python tuple_example.py
Вы должны увидеть следующий вывод:
(1, 'hello', 3.14)
Кортежи - это универсальная структура данных в Python, часто используемая, когда вам нужно обеспечить неизменность данных в рамках программы.