Для применения именованных кортежей для создания неизменяемых констант в Python нужно импортировать модуль collections и использовать функцию namedtuple(): 14
from collections import namedtupleCar = namedtuple('Car', 'color mileage') # Определяет простой тип данных «Car» с двумя полями: «color» и «mileage»< 1/code>
Именованные кортежи являются неизменяемыми, то есть значения их полей не могут быть изменены после создания. 4 При попытке перезаписать одно из полей возникает исключение AttributeError. 1
Однако для создания нового экземпляра с изменёнными значениями можно использовать метод _replace(): 4
person1 = person1._replace(age=31) # Выводит «Person(name='Alice', age=31, city='New York')'< 4/code>
В этом случае исходный экземпляр person1 не изменяется, а создаётся новый. 4