我有一个问题,我试图在类的初始化中使用静态变量作为必需的命名默认参数:
class Foo:
bar = 1
rab = 2
def __init__(self, /, def_arg=Foo.bar):
if def_arg == self.bar:
pass
elif def_arg == self.rab:
pass
Foo()
Foo(Foo.rab)
4: NameError: name 'Foo' is not defined
我也尝试过不使用 Foo.
和 self.
但它不起作用。它必须是特别静态的,所以我不想使用 self.bar。这有可能吗?
最佳答案
如果你只使用 bar
就可以了。
def __init__(self, def_arg=bar):
print(def_arg)
关于python - 如何在使用静态类变量的类的 __init__ 中定义默认参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64949152/