class A:
def set_this_or_everything_breaks(self) -> None:
self.important_variable = "c"
def run(self) -> None:
print(f"this is what is important {self.important_variable.lower()}")
a = A()
a.run()
为什么 mypy 不抱怨
self.important_variable
未定义?我怎样才能让它抱怨?如果我删除 set_this_or_everything_breaks
它会抱怨,但它应该抱怨。我可以强制在类上定义所有类属性吗?我希望我会在这里得到一个可能未定义的错误。
reportUninitializedInstanceVariable
。
为类中未在类主体或
方法中初始化或声明的实例变量生成或抑制诊断。__init__
即使在严格模式下它也是关闭的,因此您需要显式启用它:
// pyrightconfig.json
{
"reportUninitializedInstanceVariable": "warning"
}
# pyproject.toml
[tool.pyright]
reportUninitializedInstanceVariable = "warning"