【发布时间】:2022-01-13 23:33:21
【问题描述】:
我想一次性初始化所有类数据,而不是在声明类之后。我意识到在定义期间无法访问类变量/方法。
为了能够基于类变量初始化变量,我已经完成了以下操作。我对此并不感到兴奋,但我还没有看到我喜欢的东西。
所以:
- 我所做的事情有什么缺点?
- 在定义之后初始化类的其余部分会更好吗?这对我来说看起来不对,但我是 python 新手,并且还在习惯它。
class foo:
stuff=[1,3,5,7]
@property
def data(self):
print('...init...')
value = sum(self.stuff)
setattr(foo, 'data', value)
return value
def __init__(self, x):
self.x = x
f=foo(1)
g=foo(2)
print(f.data)
print(f.data)
print(g.data)
print()
print(f.x)
print(g.x)
输出
...init...
16
16
16
1
2
【问题讨论】:
标签: python