Как создать объект, используя все ключевые слова и значения другого объекта? - PullRequest
0 голосов
/ 02 апреля 2020

Как я могу создать объект, одновременно передав ему __init__ все ключевые слова и их значения другого объекта? В основном это:

class Person():
    instances = []
    def __init__(self,**kwargs):
        self.__dict__.update(**kwargs)
        __class__.instances.append(self)

class TemplatePerson():
    instances = []
    def __init__(self,**kwargs):
        self.__dict__.update(**kwargs)
        __class__.instances.append(self)

def foo(template):
    # I want this function to basically execute what would be:
    # Person(name="Alice",surname="Bobbette")
    # except dynamically for all the keywords and values the template object could have
    pass

foo(TemplatePerson(name="Alice",surname="Bobbette"))

Я наткнулся на __dict__, но не знаю, как его использовать. Важно, чтобы все ключевые слова передавались новому объекту при его инициализации, а не делать что-то вроде:

Person.name="Alice"
Person.surname="Bobbette

, потому что мой Person.__init__ беспорядок;)
Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...