Mypy是Python的可选静态类型检查器。
以前,typing.IO、typing.TextIO 和typing.BinaryIO 可用于注释类似文件的对象,例如由 open() 返回的值。然而,在 Python 3.8 之后,它们似乎已被弃用,并将被
我有许多导入其他非类型化库的文件。 我已将其添加到 mypy.ini 例如: [彩色原木] ignore_missing_imports = True 那么也许这可以不检查库本身?例如在...
修改字典中存储的值的类型时,处理输入的最合适方法是什么? 例如,如果我通过 mypy 运行以下代码,它会抛出错误 '... has no att...
对于我编写的类 A,我希望通过 A.foo 和 A.bar 作为类变量来访问一些实例 foo 和 bar。然而, foo 和 bar 都是 A 的实例,我不确定 h...
我有一个测试用例.py: 导入路径库 导入输入为 tp # 不受我控制 PathType = tp.Union[str, pathlib.Path] defforeign(文件名:PathType) -> PathType: 返回文件名 # 下...
实例属性通常注释在类上: 类 Foo: x:整数 def __init__(自身, x): 自我.x = x 富(0).x 这有效,并且 mypy 不会报告任何问题。然而,当...
我有一个父类BaseBlob,它有几个子类LimitedProofId、ProofId、TxId。父类实现一个反序列化类方法,该方法应返回其自身的实例。 我也...
我有以下代码,我创建了一个支持比较的泛型类型。当我比较不同类型时,代码会产生异常(如预期)。但是,我想修改异常的
我正在尝试注释一个仅返回两个值的迭代器,T 和 cls[T]。 目前我将其注释如下: from __future__ 导入注释 导入打字 类节点(打字。通用...
如何使mypy像我的协议一样在运行时使用runtime_checkable工作
我定义了几个协议,如下所示: 导入 json 输入 import Any、Protocol、TypeVar、runtime_checkable T_co = TypeVar('T_co', 协变=True) T = 类型变量('T') @runtime_checkable 班级
我遇到了 mypy 抛出错误并提示我缺少 return 语句的问题。虽然我的函数中有一个,但它仍然存在。难道我做错了什么? (我正在使用 python3....
如何创建一个以与 isinstance 类似的方式缩小变量类型(对于静态类型检查器)的函数? 例如,ComplexTypeAssertion 只是在运行时缩小类型范围,但...
我正在做一些在 Python 3.6 和 mypy 中输入的实验。我想设计一个实体类,可以通过两种方式实例化: 通过使用普通的初始化程序 (p = Person(name='Hannes...
设置示例: 从输入 import 可选 A类(对象): def __init__(自身): self.a: 可选[int] = None def check_a(self) -> bool: 返回 self.a 不是 Non...
我的问题很简单。我有这个协议: 从输入导入协议 类 LauncherTemplateConfig(协议): def launch_program_cmd(self, **kwargs) -> 列表[str]: 经过 还有这个
我有一个代表标准化内存量的类。 类 MemoryUnit(enum.Enum): “”“内存单位。”“” 国标 = '国标' 结核病 = '结核病' PB = 'PB' 班级
对于使用`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] =... 干净得多