在python中,有没有办法在"静态构造函数"中获取类名?我想使用继承的类方法初始化一个类变量。
class A():
@classmethod
def _getInit(cls):
return 'Hello ' + cls.__name__
class B(A):
staticField = B._getInit()
NameError:name' B'未定义
答案 0 :(得分:6)
在执行完整的.anim {
color:red;
-webkit-animation: hue 2s infinite linear;
}
套件并创建了一个类对象之前,未分配名称B
。出于同样的原因,在创建类对象之前,不会设置类的class
属性。
您之后必须分配该属性:
__name__
另一种方法是使用类装饰器(传递新创建的类对象)或使用元类(首先创建类对象并给出要使用的名称)。