Замена поля в namedtuple namedtuple, будучи кортежем, является неизменяемым типом. Однако, метод _replace возвращает новый объект, в котором отредактированы выбраные поля, а все остальные равны значениям из предыдущего кортежа. from collections import namedtuple Book = namedtuple('Book', ['id', 'title', 'authors']) book1 = Book(1, 'Игрок', 'Достоевский Ф.М.') book2 = book1._replace(id=2, title='Преступление и наказание') >>> book1 Book(id=1, title='Игрок', authors='Достоевский Ф.М.') >>> book2 Book(id=2, title='Преступление и наказание', authors='Достоевский Ф.М.') ⚠️ Метод replace делает поверхностную копию данных, то есть копирует ссылки. Если со строчками и числами все будет в порядке (они скопируются), то ссылка на список будет разделяться между обоими объектами. Документация namedtuple Имеется возможность снабдить сам класс и его поля документацией (doc-strings): # сам класс Book.__doc__ += ': Hardcover book in active collection' # его поля Book.id.__doc__ = '13-digit ISBN' Book.