namedtuple?collections.namedtuple — это фабричная функция, которая создаёт подклассы кортежей с именованными полями. Она сочетает эффективность памяти обычных кортежей с читаемостью доступа через именованные атрибуты — без необходимости писать полное определение класса.
__init__from collections import namedtuple
# Определяем класс namedtuple
Point = namedtuple('Point', ['x', 'y'])
# Создаём экземпляр
p = Point(1, 2)
# Обращаемся к полям по имени или индексу
print(p.x, p.y) # Output: 1 2
print(p[0], p[1]) # Output: 1 2
Employee = namedtuple('Employee', ['name', 'role', 'salary'])
emp = Employee('Alice', 'Engineer', 95000)
print(emp.name) # Alice
print(emp.role) # Engineer
Это намного читабельнее, чем обращение через emp[0] или emp[1], особенно когда работаешь с множеством полей или большими наборами данных.
namedtuple является изменяемой структурой, позволяющей тебе изменять значения полей после создания, что отличает её от обычных кортежей.
Новый — ещё не проверен сообществом
Вы