我有字典:
example: dict[str, Union[str, int]] = {"foo": 1, "bar": "baz"}
值是字符串和整数。当我尝试使用其中的值时,我肯定知道从特定键中获取的数据类型。但 mypy 不知道值,我想使用的是字符串或整数。
例如,我想将 int 值与另一个 int 进行比较
res: bool = example["foo"] > 1
我理解为什么 mypy 说“不支持 >(“str”和“int”)的操作数类型”,但我想忽略这个错误。我能做些什么? 我认为任何类型都不是最好的解决方案。也许我可以配置 mypy 来忽略这个错误?
抱歉我的英语不好,谢谢)
如果字典每次都有相同的键,您可以使用
TypedDict
from typing import TypedDict
class ExampleType(TypedDict):
foo: int
bar: str
example: ExampleType = {'foo': 1, 'bar': 'baz'}
res: bool = example['foo'] > 1