python - Mypy 类型检查器和“静态实例”
问题描述
对于A
我写的一个类,有一些实例foo
,bar
我希望通过类变量A.foo
和A.bar
类变量来访问它们。但是,foo
andbar
都是 , 的实例A
,我不确定如何让类型检查器mypy
正确处理这个问题。我目前实例化foo
如下bar
:
class A:
def __init__(self):
pass
foo = None
bar = None
A.foo = A()
A.bar = A()
这导致mypy
得出结论,A.foo
并且A.bar
是类型None
。注释是Optional[A]
可行的,但这歪曲了预期的含义:我希望两者都是类型A
......有什么提示吗?
解决方案
如果您使用更高版本的 python 3,您可以使用注释为您执行此操作。
foo : A
我认为 mypy 适用于标准注释。如果这不起作用,请尝试用引号将注释括起来。
foo : "A"
推荐阅读
- python - Kubernetes 容器应用程序中的 Google App Engine 请求样式日志记录
- reactjs - 使用快照进行反应测试
- sql - Sql LeftJoin 需要很长时间
- node.js - Node.js Express - 获取请求的 http 协议文本
- javascript - 如何从路径获取 SVG 高度和宽度?
- angular - ngIf 仅在 ngFor 中的一个部分列出
- node.js - 为后端 API 编写通用包装 API
- html - 如何将表格中的数字向左对齐?
- node.js - PUG vs HTML,在Node.JS中将数据渲染到视图页面哪个更好(快递)
- sql - 创建一个触发器以获取登录时间和注销时间,并为 SQL 投入工作时间