是否可以让mypy检查属性是否存在于至少一个联合项(而不是每个联合项)中?

问题描述 投票:0回答:1

我正在尝试将

mypy
应用于已经具有类型注释(由 PyCharm 检查)的大型代码库。运行
mypy
时,我收到大量错误,例如:

error: Item "Bar" of "Union[Foo, Bar]" has no attribute "foo_func"

这是因为

mypy
检查属性
foo_func
是否存在于 each 联合成员中,如下所述: https://mypy.readthedocs.io/en/stable/error_code_list.html#check-that-attribute-exists-in-each-union-item-union-attr

为了避免此类错误消息过载,我想修改

mypy
的行为,以便它检查属性
foo_func
是否存在于 至少一个 联合成员中。

当然,我可以在代码中添加断言来告诉

mypy
该对象具体是什么类型。但目前,我只是在寻找一种方法来修改
mypy
本身的行为。

这可能吗?

python-3.x mypy python-3.10
1个回答
0
投票

尝试添加内联注释

# ignore: [union-attr]
在我的例子中就像

func.coalesce(flight_trip_report.id.isnot(None), false()),  # ignore: [union-attr]
© www.soinside.com 2019 - 2024. All rights reserved.