Mypy是Python的可选静态类型检查器。
如何让 `mypy` 引发有关使用 `typing` 包而不是内置类型的错误/警告
目前我有一堆代码可以做到这一点: 从输入导入字典 foo: 字典[str, str] = [] 在 Python 3.9+ 中,最好使用内置类型(源代码): foo: dict[str, str] = [] 是...
我可以告诉 Python 类型检查器它应该预料到类型错误吗?
我可以告诉类型检查器忽略这样的类型错误: # 某处 a:整数 ... # 其他地方 a = "1" # 类型:忽略 但我希望类型检查器在忽略时发出警告
Mypy 失败,预期类型为“Type[T]”,改为“UnionType”
我使用 pydantic 从 JSON 文件加载数据,这些文件可以具有不同的参数,在本例中为 x 或 y。我使用 Loader 类将它们加载到 pydantic 模型中,以便我可以验证...
我需要构建类型的动态联合(具有动态长度)以用于动态创建 pydantic 模型。我正在寻找如何输入要传递给 Union 的变量,以便 mypy 很高兴。 一个
使用 Mypy 对抽象类进行类型检查时,当子类缺少所需的抽象方法或属性时,不会引发错误。 预期行为:由于 Cat 没有实现
我知道 CPython 的内置函数是用 C 实现的。但我对内置类型的方法的类型提示或注释感兴趣。 例如,我想知道如何设置。
我目前正在将现有代码库转换为 mypy。 有大约 500 个类型错误。 我不熟悉代码,因此修复所有错误将非常耗时。 我想: 运行 mypy ...
我在Python中有以下列表理解: 从输入导入强制转换 # 一切都很好 print([[1,2,3,4]中的值的值]) # 第一个“值”:表达式类型包含 &
在 3.5 中键入 __exit__ 在运行时失败,但类型检查
__exit__ 的正确类型签名是什么?我有以下内容: 从类型导入 TracebackType from 输入 import 可选,类型 类 Foo: def __enter__(self) -> 'Foo': 返回
我正在努力应对mypy。作为练习,我试图为一些常见的高阶函数找出正确的类型注释。但我不太明白为什么下面的代码...
示例 给定文件 ./mylib/minimalistic_repro.py 类 Foo: def __init__(自身, 参数): self.param = 参数 类酒吧: def __init__(自身, 参数): self.param = 参数 定义...
向 .pyi 存根文件添加类型别名时,mypy 的存根测试会返回“运行时不存在”错误。这可以避免吗?
示例 给定文件 ./mylib/minimalistic_repro.py 类 Foo: def __init__(自身, 参数): self.param = 参数 类酒吧: def __init__(自身, 参数): self.param = 参数 定义...
如何将分配给变量的无类型字典传递给需要 TypedDict 的方法而不引起 mypy 抱怨?
我想将字典传递给需要 TypedDict 的方法 foo,而无需明确提及类型。当我将字典直接传递给方法时,一切都很好。然而,什么...
我想为异步函数编写一个装饰器。 如何注释装饰器定义的类型? 这是我想做的一个例子: 从输入 import TypeVar # 将等待...
对于以下文件: 从 abc 导入 ABC,抽象方法 从输入导入 Any、Awaitable、Callable、TypeVar、cast T = 类型变量('T') def dec(args: Any) -> Callable[..., Awaitable[T]]: 定义
functools.partial 的正确类型提示是什么?我有一个返回部分的函数,我想输入提示,这样 mypy 就不会抛出任何错误: def my_func() -> ?: 返回部分(foo...
我们有多个类似部分的函数,具有带有 args 和 kwargs 的相同类型注释,例如: def Fruit(fruit_name:str,fruit_class:类型,arg1:int,arg2:float,arg3:元组): 经过 定义 ap...
如何输入提示 Apache Beam 默认 DoFn.TimestampParam
我正在努力注释 DoFn 处理方法的额外参数,特别是时间戳参数。 最小的例子: 导入 apache_beam 作为光束 从 apache_beam.transforms.window 导入
我正在使用pdm,每个项目都有自己的.venv。使用 mypy 时,我需要像 mypy --python-executable ./.venv/Scripts/python.exe 一样指定 venv 。在 Windows 或 mypy 上 --python-executable ./.venv/...
使用 mypy 对以下代码进行类型检查: def foo(a: str, b: float, c: int): 打印(a,b,c + 1) foo('好', 2.2, '坏') 显示无效的调用太 foo : 错误:参数 3 为“foo&q...