此代码使用mypy的默认调用进行检查:class A: myattr: strclass B(A): otherattr: str但两者A().myattr并B().myattr引发属性错误:AttributeError: 'A' object has no attribute 'myattr'有没有办法让mypy报告这个?这是 Python 3.7.2,mypy 0.670
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
我认为目前的答案是否定的。
有一些关于在此处添加此功能的讨论:
https://github.com/python/mypy/issues/4019
不过最近好像没什么更新。如果您有一个强大的用例来做这件事,也许值得在那里发表评论,以及您希望看到什么错误,即您希望错误是您正在访问一个已初始化的变量还是该变量未在类 init 或 new 构造函数?
慕神8447489
TA贡献1780条经验 获得超1个赞
我发现我可以通过定义一个Protocol
而不是一个常规的超类来获得大部分我想要的(在我的实际用例中):mypy
确实检测在那里定义的未初始化的属性。
添加回答
举报
0/150
提交
取消