Найти в Дзене
Удалёнка

Именованные кортежи, как альтернативы классам в 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"

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

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

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"