相关疑难解决方法(0)

如何动态设置类名?

我有一个函数创建从它的参数派生的类:

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

41
推荐指数
3
解决办法
2万
查看次数

标签 统计

python ×1