Копирование всего, несмотря на одни атрибуты / поля одного в другой именованный кортеж - PullRequest
0 голосов
/ 25 сентября 2019

Какой самый короткий способ скопировать все, несмотря на один атрибут / поле, из одного в другой именованный кортеж?Это можно сделать следующим образом.

initial_person = Person(name='Bob', age=30, gender='male')

new_age = 31

modified_person = Person(name=initial_person.name,
                         age=new_age,
                         gender=initial_person.gender,
                  )

Однако у меня гораздо больше полей и я бы предпочел более короткую реализацию.Этот вопрос относится к Python: копирование именованных кортежей с одинаковыми атрибутами / полями .

1 Ответ

0 голосов
/ 25 сентября 2019

Используйте _replace ()

initial_person = Person(name='Bob', age=30, gender='male')
modified_person = initial_person._replace(age=31)

Обратите внимание, что это небольшой взлом, теоретически вы не должны использовать методы с подчеркиванием в начале.

...