Еще один лайфхак, который показывает всю красоту Питона.
Namedtuple() в Python – это фабричная функция, доступная в коллекциях. Она позволяет создавать подклассы кортежей с именованными полями. Вы можете получить доступ к значениям в заданном именованном кортеже, используя точечную нотацию и имена полей, как в obj.attr.
Namedtuple в Python был создан для улучшения читаемости кода, предоставляя способ доступа к значениям с использованием описательных имен полей вместо целочисленных индексов, которые в большинстве случаев не дают никакой информации о том, что представляют собой значения. Это делает код более чистым и поддерживаемым.
Namedtuple позволяет в некоторых случаях отказаться от написания классов, сделать код чистым и красивым.
Рассмотрим несколько примеров использования Namedtuple, как альтернативу классам в Питоне:
Namedtuple() в Python – это фабричная функция, доступная в коллекциях. Она позволяет создавать подклассы кортежей с именованными полями. Вы можете получить доступ к значениям в заданном именованном кортеже, используя точечную нотацию и имена полей, как в obj.attr.
Namedtuple в Python был создан для улучшения читаемости кода, предоставляя способ доступа к значениям с использованием описательных имен полей вместо целочисленных индексов, которые в большинстве случаев не дают никакой информации о том, что представляют собой значения. Это делает код более чистым и поддерживаемым.
Namedtuple позволяет в некоторых случаях отказаться от написания классов, сделать код чистым и красивым.
Рассмотрим несколько примеров использования Namedtuple, как альтернативу классам в Питоне:
>>> from collections import namedtuple
>>> Cat = namedtuple('Cat', 'name color')
# наш новый "класс" Cat работает, как и ожидалось:
>>> my_cat = Cat('Barsik', 'black')
>>> my_cat.color
'black'
>>> my_cat.name
'Barsik'
# удобное представление по умолчанию:
>>> my_cat
Car(name='Barsik', color='black')
# как и tuples, namedtuples неизменяемы:
>>> my_cat.color = 'white'
AttributeError: "can't set attribute"