【发布时间】:2026-02-06 21:20:03
【问题描述】:
我想在声明时初始化一个静态字段。
class Test:
def _init_foo(): return 3
foo = { _init_foo() for i in range(10)}
但是,口译员在抱怨
NameError: name '_init_foo' is not defined
我该如何解决这个问题?
【问题讨论】:
-
你想达到什么目的?如果您需要类属性
foo相同并为所有实例共享,只需编写foo = 3。但无论如何它都不会是静态的。 -
失败的原因是explained here。
-
@Slam 实际情况下,foo 必须是从文件中加载属性的字典