我mypy用来检查我的Python代码.
我有一个类,我动态设置一些属性,并mypy继续抱怨它:
error:"Toto" has no attribute "age"
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
class Toto:
def __init__(self, name:str) -> None:
self.name = name
for attr in ['age', 'height']:
setattr(self, attr, 0)
toto = Toto("Toto")
toto.age = 10 # "Toto" has no attribute "age" :(
Run Code Online (Sandbox Code Playgroud)
显然,可以有3种方法来解决这个问题
# type: ignore:toto.age = 10 # type: ignore #...setattr设定age的toto:setattr(toto, "age", 10)self.age = 0...)但是,我在课堂上寻找更优雅,更系统的方式.
有什么建议吗?