Проверьте namedtuple , если вы ищете более читаемый кортеж. Точки - пример, приведенный в документации.
Point = namedtuple('Point', ['x', 'y'])
>>> p = Point(11, y=22) # instantiate with positional or keyword arguments
>>> p[0] + p[1] # indexable like the plain tuple (11, 22)
33
>>> x, y = p # unpack like a regular tuple
>>> x, y
(11, 22)
>>> p.x + p.y # fields also accessible by name
33
>>> p # readable __repr__ with a name=value style
Point(x=11, y=22)
Если вы заинтересованы в эффективности, ознакомьтесь с реализацией . Он использует __slots__
и собирается с использованием exec
, поэтому он должен быть минимальным по сравнению с обычным кортежем.
Поскольку он написан на Python, вы можете исключить некоторые из ненужных методов, таких как __repr__
, _asdict
, _replace
и __getnewargs__
, чтобы еще больше уменьшить площадь.