如何使用不同对象的所有关键字和值创建对象?

时间:2020-04-02 12:39:16

标签: python object

如何创建一个对象,同时将另一个对象的所有关键字及其值传递给它的__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__很烂;)
预先感谢。

0 个答案:

没有答案