mypy 相关问题

Mypy是Python的可选静态类型检查器。

如何正确键入提示修饰的 __getitem__ 和 __setitem__

例如: T = TypeVar(“T”,bound =“CustomDict”) 类 CustomDict(dict): def __init__(self) -> 无: 超级().__init__() 类 dict_operator: 定义 __...

回答 1 投票 0

如何在子类中输入提示工厂

输入提示此类子类工厂(如以下流行模式中的那些)的正确方法是什么?里氏替换原理原本只适用于实例,不适用于类,所以...

回答 1 投票 0

如何让 mypy 忽略内部(私有)方法上的 no-untyped-def 错误

我将 mypy 与 disallow-untyped-defs 标志一起使用,因此当我创建一个在参数或返回上没有类型注释的方法时,它会抱怨(错误:函数缺少类型注释 [no-un...

回答 1 投票 0

如何在保留类型的同时重写类 __init__ 方法

在保持类型注释完整的同时扩展类 __init__ 方法的正确方法是什么? 以这个示例类为例: 类基: def __init__(self, *, a: str): 经过 我想要...

回答 3 投票 0

mypy 没有意识到数据类的成员实际上是通过`__post_init__`

我有一个包含列表[tuple[str,str]]的数据类,我也希望能够使用字典[str,str]进行初始化。从编程上来说是这样的: 从数据类导入数据类 @数据类 CL...

回答 1 投票 0

mypy 不明白该函数返回一个字符串

我有一个返回 str 或指定后备值(str 或 None)的函数。当给出 str 回退时,函数保证返回一个 str。然而,在此运行 mypy 会出现错误...

回答 1 投票 0

mypy:类型[list[Any]]”没有属性“__iter__”(不可迭代)

我有以下代码: 从 pydantic 导入 BaseModel 工人类(基础模型): id:整数 名称:str 状态:布尔 = True 类 WorkerList(BaseModel): 工人=列表[工人] 定义

回答 1 投票 0

为什么在使用 TypeVar 时返回子类型时 mypy 会抱怨

我想知道为什么这个例子没有通过 mypy 检查: from 输入 import 可选,TypeVar A类: 经过 B(A)类: def __init__(self) -> 无: 打印(“B”) T = TypeVar(...

回答 1 投票 0

MyPy:如何输入将转发到 isinstance() 的参数

我正在编写一个谓词函数。除此之外,它可以采用与 isinstance() 兼容的参数,这样如果您调用 my_pred(val, types),它将返回 isinstance(val, type...

回答 1 投票 0

重载以下可选参数

我有一个 Animal 类,其方法 foo 具有不同的返回类型,具体取决于一个布尔参数,该参数跟随一个可选参数 bar。我想重载该函数,以便...

回答 4 投票 0

Mypy 抱怨“in (“object”) 不支持右操作数类型,并且“object”没有属性“get”,但解释器运行良好?

我正在运行一些非常简单的Python代码,我不明白为什么mypy会抱怨它。我对使用Python有点陌生,所以也许这是显而易见的,但我没有太多运气。 我有...

回答 1 投票 0

如何获取 `matplotlib`、`numpy`、`scipy`、`pandas` 等的存根文件?

我知道用于类型检查和静态分析的内置 Python 库的存根文件随 mypy 或 PyCharm 安装一起提供。如何获取 matplotlib、numpy、scipy、pandas、e...的存根文件

回答 3 投票 0

Python 3.10+:可选[类型]或类型|无

现在Python 3.10已经发布了,在指示参数或返回值可以是可选的(即可以为None)时是否有任何偏好。那么什么是首选: 选项1: def f(参数...

回答 5 投票 0

将 kwargs 传递给复杂函数

考虑以下尝试向函数父函数和子函数添加类型提示: defparent(*, a: 类型1, b: 类型2): ... def child(*, c: Type3, d: Type4, **kwargs): 父级(**kwarg...

回答 1 投票 0

MyPy:无法抑制[无类型调用]

我一直在使用MyPy python类型分析,我试图忽略特定类型的警告, 这是我的 mypy.ini [我的] python_版本 = 3.9 # 由于 MyPy 中的错误而需要 disallow_subclassing_any =

回答 1 投票 0

如何键入注释将 envvar 转换为整数?

我如何让 mypy 接受此代码? 尝试: 调试 = int(os.getenv("调试")) > 0 除了值错误: 调试=假 当前诊断为 mypy:“int”的参数 1 有

回答 1 投票 0

将生成器函数注释为迭代器的混乱

Python 类型文档中写道: 或者,将生成器注释为具有 Iterable[YieldType] 或 Iterator[YieldType] 的返回类型: def infinite_stream(开始: 我...

回答 1 投票 0

如何在类上注释 __add__(双下划线)方法的类型?

我正在尝试注释类的 __add__ 方法,以便我可以将它的实例添加在一起。但是,我无法指定此方法采用相同类型的另一个实例: Foo 类...

回答 1 投票 0

Mypy/Pylance 不检查嵌套协议

我正在使用协议来定义一些基类 我只想继承父协议并自动检查子协议。 这是示例代码: 子类(协议): 名称:...

回答 1 投票 0

类装饰器的类型提示

我有一个类装饰器,它删除一个方法并将另一个方法添加到类中。 我怎样才能提供类型提示呢?我显然已经尝试自己研究这个问题,但无济于事。 大多数人声称...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.