与这个问题类似,我想将属性从字典传递给类的实例,但使用创建类type
,如下所示:
attrs = { 'name': 'Oscar', 'lastName': 'Reyes', 'age':32 }
e = type('Employee', (object,),attrs)()
但是当我这样做时,属性属于类,而不仅仅是实例。如果我使用以下方法创建两个实例:
e = type('Employee', (object,), attrs)()
f = type('Employee', (object,), attrs)()
它们实际上将是两个不同的类。
我想创建一个接受**kwargs
和*args
in的类__init__()
,例如:
class Employee(object):
def __init__(self, *args, **kwargs):
self.args = args
for k,v in kwargs.items():
setattr(self, k, v)
使用type()
. 以便:
MyClass = type('Employee', (object,), {})
将允许:
e = MyClass( **kwargs )