Mypy是Python的可选静态类型检查器。
对于使用`type()`构造的类型,mypy“作为类型无效”
mypy 抱怨错误:变量“packagename.Foo”作为类型无效 Foo = type('Foo', (), {}) 栏=可选[Foo] 可以通过将类型定义为类来修复此错误: 类 Foo: ...
基类和继承类的类型注释 - Generic 和 TypeVar 是正确的方法吗?
假设我有一个基类 从输入导入列表,可选 类节点: def __init__(self, name: str) -> 无: self.name = 姓名 self.children: List['Node'] = [] ... 和一个
我正在尝试在功能栏上键入提示,但是当我运行 mypy 时,出现“参数太少”错误。 从输入导入可调用,可选 def foo(arg: int = 123) -> 浮动: 返回参数+0.1 定义...
例如: def foo(bar: int = None): 经过 当我检查 bar 的类型/注释时,pycharm 告诉我它是可选的[int]。 bar: int = None 看起来比 bar:Optional[int] =... 干净得多
我有一个函数,它接受不同长度的元组作为参数: 从输入导入元组 def process_tuple(t: Tuple[str]): # 做一些讨厌的元组事情 process_tuple((“a”,))
我正在尝试创建一个字典,将输入数据类型的元组映射到处理这些数据类型的函数。我一直没能找到一种方法来以令我满意的方式进行类型提示。
为什么 mypy 会报错:生成器有不兼容的项目类型“Sequence[str]”?
我使用 mypy 对这篇文章中的 rbast.py 进行类型检查: https://mypy-play.net/?mypy=latest&python=3.12&gist=19931c644949c29b715b797a90b59a01 它给出了三个错误。前两个是显而易见的,...
使用Python 3.5.1。以及当前使用 git 安装的 mypy, mypy 标记错误 1 和 2,但不报告 3 我做错了什么,或者这是一个错误,或者这是一个已知问题? 进口类型...
我试图将方法 foo 的返回值定义为 AbstractChild 子类实例的列表,但 mypy 一直给我一个错误。 类 AbstractParent(ABC): @抽象方法 def foo(自己...
使用 mypy 进行类型检查,我无法弄清楚为什么会发生此错误[关闭]
所以,我从一开始就使用 mypy 来学习如何使用类型检查在 python 中进行编码。我正在使用这段代码来训练: def star(*args: int, **kwargs: float) -> 无: 对于 args 中的 arg:
我一直无法弄清楚这是否可能。 鉴于以下代码,我希望 mypy 报告这两种情况的错误: 从数据类导入数据类 输入 import Generic,
编辑 当尝试从作为实例属性的类继承时,就会出现问题。这个 mcve 重现了它,我将把下面问题的其余部分留给后代: A类: SubA 类:...
在为函数分配新属性时,如何抑制 mypy 中的“没有属性”错误?
我经常使用以下习惯用法进行静态初始化: defcompute_answer() -> int: 如果compute_answer.ret为None: # 做一些只在第一次发生的事情 计算_ans...
所以我正在对一些代码进行类型注释。这段代码遵循以下约定。 我有某种定义某些类的基本模块 #module1.py A类(): attr1 = '你好' 一个...
我有一个辅助函数可以在 python repl 中使用,将变量移动到全局以便于调试。但 mypy 出现错误: 类stepin(对象):# pylint:禁用= R0903 def __init__(self, 函数:
尝试使用 mypy 检查以下代码时: 导入迭代工具 从输入导入序列、联合、列表 DigitsSequence = Union[str, Sequence[Union[str, int]]] def normalize_input(di...
如何注释类似字节的对象或缓冲区? 缓冲区协议没有接口,但我希望接受我的函数中的所有缓冲区。 我不介意它是否只是 mypy 特定的。
我有一个具有以下结构的Python项目 源代码/ __init__.py 米/ __init__.py a.py b.py src/m/__init__.py 的内容是 exec_str = 'A = type("A", (object,), ...
为返回采用 args 和 kwargs 的函数的函数键入注释
以下示例代码在运行时有效,但不被 mypy --strict 接受: 从输入导入 Any、Callable、TypeVar TypeT = TypeVar('TypeT') def log_call(msg: str) -> Callable[..., Ty...
请参阅下面的示例,使用 python 3.7,我找不到正确注释的方法。注释错误显示在注释中,由 mypy 给出。 我有一个“通用类”...