我有一个函数创建从它的参数派生的类:
def factory(BaseClass) :
class NewClass(BaseClass) : pass
return NewClass
Run Code Online (Sandbox Code Playgroud)
现在,当我使用它来创建新类时,这些类的名称都相同,并且实例看起来像它们具有相同的类型:
NewA = factory(ClassA)
NewB = factory(ClassB)
print type(NewA()) # <class __main__.NewClass>
print type(NewB()) # <class __main__.NewClass>
Run Code Online (Sandbox Code Playgroud)
是否正确修复了手动设置__name__属性?
NewA.__name__ = 'NewA'
print type(NewA()) # <class __main__.NewA>
Run Code Online (Sandbox Code Playgroud)
我在做什么时还应该设置其他东西吗?
python ×1