我有定义静态方法的类定义。我有一个我想用静态方法初始化的字段。我默认思维使我这个:调用Python类定义中的静态方法
class SomeConcreteClass(object):
some_data = SomeConcreteClass.create_default_data()
@staticmethod
def create_default_data():
return 'Foo'
的问题是,当我运行它,我得到了NameError: name 'SomeConcreteClass' is not defined
。这是因为SomeConcreteClass正在被构建。这是否意味着我不能使用静态初始化函数?有没有建议处理这种情况的替代方法?
这个类是否有任何属于某个实例的数据? –
不在范围内的类名甚至不是全部问题;你也试图调用尚未定义的方法。 – geoffspear
@Wooble:确实如此,但如果您最后发出呼叫,问题仍然存在。 –