Python是否具有类构造函数的机制,即每当首次引用类时(而不是在创建该对象的实例时)调用的函数?我知道这存在于其他一些语言中,但我还没有在Python中遇到过。Python类构造函数(静态)
基本上,我想初始化该函数中的一些静态属性。我在下面展示了我期望的一个例子。当然,该示例返回None,但我希望它返回'foo'。
class T:
arg = None
def __class_constructor__():
T.arg = 'foo'
print(T.arg) # returns None
为了避免混淆:我深知对象构造的,但是这不是我想要的,因为一旦被创建的第一个对象时,它才会被调用,而不是之前:
class T:
arg = None
def __init__(self):
type(self).arg = 'foo'
print(T.arg) # returns None
obj = T()
print(T.arg) # returns 'foo'
为什么不'T类中声明,当它初始化类变量:ARG =“foo'' ...? 'class'关键字*是“类构造函数”。 – deceze
我想分配的实际值比'foo'稍微复杂一些,所以不幸的是它不能像这样分配 –
除非值在您定义类的时候依赖于不可用的信息,否则没有你不能这样做的原因。请详述一些细节? – deceze