collections.namedtuple

Фабрика, создающая подкласс кортежа с доступом к полям по имени, а не только по индексу.

Сигнатураcollections.namedtuple(typename, field_names)

namedtuple даёт читаемый и неизменяемый «лёгкий объект» без написания класса. Поля доступны и по индексу, и по имени; метод _replace создаёт копию с изменённым полем, _asdict — словарь.

from collections import namedtuple

Point = namedtuple('Point', ['x', 'y'])
p = Point(3, 4)
print(p.x, p.y)    # 3 4
print(p[0])        # 3

q = p._replace(y=10)
print(q)           # Point(x=3, y=10)
print(p._asdict()) # {'x': 3, 'y': 4}
← Все записи: Модули collections и functools
Поддержать проект