Кортежи и их методы
1. Что такое кортеж
Кортеж — это неизменяемая (immutable) последовательность объектов.
Создаётся с помощью круглых скобок
()
или просто перечислением элементов через запятую.
t1 = (1, 2, 3)
t2 = 4, 5, 6
t3 = (1,) # кортеж из одного элемента, нужна запятая
2. Особенности кортежей
Неизменяемость
Элементы нельзя менять, добавлять или удалять после создания.
Поддержка индексов и срезов
t = (1, 2, 3, 4)
print(t[0]) # 1
print(t[-1]) # 4
print(t[1:3]) # (2, 3)
Могут содержать любые типы данных
t = (1, "text", [1,2], (3,4))
Используются как ключи в словарях
Так как кортежи неизменяемые и хешируемые, их можно использовать как ключи словарей.
3. Основные методы кортежей
Кортежи имеют очень мало встроенных методов, так как они неизменяемы:
tuple.count(value)
Возвращает количество вхождений значения
tuple.index(value, start, end)
Возвращает индекс первого вхождения значения, можно указать диапазон
t = (1, 2, 3, 2)
print(t.count(2)) # 2
print(t.index(3)) # 2
Для остального используют функции и операции, которые применимы к последовательностям:
len()
,in
,+
,*
,min()
,max()
,sum()
.
t = (1, 2, 3)
print(len(t)) # 3
print(2 in t) # True
print(t + (4,5)) # (1,2,3,4,5)
print(t * 2) # (1,2,3,1,2,3)
4. Применение в автотестах
Хранение фиксированных данных
user = ("Alice", "password123", True)
Возврат нескольких значений из функции
def get_user():
return "Alice", "password123"
username, password = get_user()
Использование в качестве ключей словаря
location = {(10, 20): "Start", (30, 40): "End"}
print(location[(10, 20)]) # "Start"
Срезы и проверка данных
test_data = (1,2,3,4)
assert 3 in test_data
assert test_data[:2] == (1,2)
💡 Вывод:
Кортежи — неизменяемые последовательности, поддерживают индексацию, срезы и два метода (
count
,index
).Используются для фиксированных данных, возврата нескольких значений, ключей словаря и проверок данных в автотестах.
Last updated
Was this helpful?