Найти тему
Удалёнка

Именованные кортежи, как альтернативы классам в Python

Если нет желания создавать новый класс и предполагаемая структура не слишком сложна и без дополнительных функций, тогда можно использовать именованные кортежи.

Для понимания:
Именованные кортежи определяют имена для каждой позиции в кортеже  и позволяют создавать более читаемый и понятный код. Они могут быть использованы в тех же случаях, что и обычные кортежи, а обращаться к полям можно не только по индексу, но и по имени.

from collections import namedtuple

Car = namedtuple('Car', 'color mileage')

my_car = Car('red', 3812.4)

my_car.color

'red'

my_car.mileage

3812.4

my_car

Car(color='red' , mileage=3812.4)

# Именованые кортежи также неизменяемые, как и кортежи

>>> my_car.color = 'blue'

AttributeError: "can't set attribute"