mypy相关内容
Mypy给我打印以下消息: X.py:74:错误:赋值中的类型不兼容(表达式具有类型 “Union[str,dict[str,str]]”,变量的类型为“str”) 这不奇怪吗?str是Union[str, Dict[str, str]]的一部分 代码如下: def get_multiple(fields: List[str], config_data) -> Dict[s
..
Python新手,具有静态类型语言背景。我想要https://lxml.de的类型提示,只是为了便于开发(mypy标记问题和建议方法会很好!) 据我所知,这是一个python2.0模块,没有类型。目前,我已经使用https://mypy.readthedocs.io/en/stable/stubgen.html创建存根类型定义并填充“any”--我正在使用的更多信息类型,但真的太老套了。是否
..
我尝试询问的示例代码如下。 Internet上的任何示例都不会尝试这样重载参数值。 其中一个参数是布尔值,我希望重载基于布尔值而不是通常的参数类型的方法。 from typing import overload, Union @overload def myfunc(arg:bool=True)-> str: ... @overload def myfunc(arg:bool=Fal
..
我的代码如下: 从输入导入元组a: 元组[int, int] = 元组(排序([1, 3])) Mypy 告诉我: 赋值中的不兼容类型(表达式的类型为“Tuple[int,...]",变量的类型为“Tuple[int, int]") 我做错了什么?为什么 Mypy 无法确定排序后的元组将返回正好两个整数? 解决方案 对 sorted 的调用会生成一个 List[int],其
..
我正在尝试使用 mypy 来检查 Python 3 项目.在下面的示例中,我希望 mypy 将类 MyClass 的构造标记为错误,但事实并非如此. 类 MyClass:def __init__(self, i:int) ->没有任何:经过obj = MyClass(False) 谁能解释一下,好吗?IE.解释一下mypy为什么不报错? 解决方案 这是因为——不幸的是!— Python
..
在 解决 Python 聊天中的一个半相关问题时,我在 mypy 中发现了一些行为我不明白. from 输入 import Union, List, Dictdef f(x: 联合[dict[str, float],字典[str, str],dict[str, int],]):经过f({“a": 1}) #passesf({"a": "b"}) #passesf({“a": 1.0}) #pas
..
我最近发现了 mypy,我希望用它对我的代码进行类型检查. 我有一个 Connector 基类: class Connector():... 一些方法,但没有 __init__ ... 我有几个子类,它们都是连接器,但类型不同: 类虹吸管(连接器)定义 __init__():short_name = "S"类管(连接器)定义 __init__():short_name = "T" 当
..
我有一个项目目录 项目- 代码- 代码.py- 测试- test_code.py 过去,virtualenv 已经奏效了.我现在正在尝试pipenv.我的 .vimrc 中有这个 "python 支持 virtualenvpy
..
假设我有以下没有任何类型提示的简单示例: def wrapper(cls):类子类(cls):def subclass_method(self):经过返回子类@wrapper班级家长:def parent_method(self):经过p = 父()p.parent_method()p.subclass_method() 如何使用类型提示重构此代码,以便当我针对 Parent 的实例运行 my
..
我想遍历 List[A] 和 List[Subclass of A] 并执行相同的循环.我能看到的最好的方法是连接两个列表.然而,mypy 对此并不满意. 如何将两者连接起来并让 mypy 开心? 目前,我做# type: ignore[operator].如果可能,我想避免这种情况. MVCE # 核心库模块from 输入 import Iterable# 第三方模块从 py
..
我想定义一个泛型类型.类似的东西: T = TypeVar('T')RecurSeqOf = 序列[联合[通用[T],序列[T]]]# mypy 错误:变量“typing.Generic"作为类型无效 有办法吗? 整个背景 实际上,我需要一个递归泛型类型 T = TypeVar('T')RecurSeqOf = Sequence[Union[T, 'RecurSeqOf']]]
..
有没有办法忽略我项目中某些包中的所有错误? 我项目中的一些代码是编译后的 Protocol Buffers 代码,它没有通过 MyPy 检查.它都位于目录/myproj/generated/proto 中. 这是我的 mypy 配置文件中的内容: [mypy-myproject.generated]ignore_missing_imports = Trueignore_errors
..
我目前正在与 WSDL 进行集成,因此决定使用 Zeep 库与 Python 一起使用. 我正在尝试使用 mypy 对响应进行建模,以便它可以与 VSCode 的 Intellisense 配合使用,并且在我进行粗心的分配或修改时会给出一些提示.但是,当 WSDL 响应位于嵌套对象中时,我遇到了障碍,而且我无法找到对其进行类型提示的方法. 来自 WSDL 的示例响应: {'结果':
..
我正在编写一个 CustomEnum 类,我想在其中添加一些帮助器方法,然后子类化我的 CustomEnum 的类可以使用这些方法.其中一种方法是返回一个随机枚举值,这就是我被卡住的地方.该函数按预期工作,但在类型提示方面,我想不出一种说法“返回类型与 cls 类型相同". 我相当确定其中涉及到一些 TypeVar 或类似的魔法,但由于我从未使用过它们,因此我从未花时间弄清楚它们. cla
..
以下代码未按预期工作.显然,我不能在类定义中使用类自己的类型: Foo 类:def __init__(self, key :str) ->没有任何:self.key = 键def __eq__(self, other :Foo) ->布尔:返回 self.key == other.keyprint('应该是真的:', Foo('abc') == Foo('abc'))print('应该是假的:
..
我有一个可以包含不同类型消息的消息容器.目前,只有短信. 这些是我的课程: from 输入导入列表,TypeVar导入属性@attr.s(auto_attribs=True)类通用消息:文本:str = attr.ib()GMessage = TypeVar('GMessage', bound=GenericMessage)@attr.s(auto_attribs=True)类 TextM
..
我试图在作为模板的运行配置中将 mypy 作为“启动前"工具运行. 我有以下设置(程序:是 mypy 可执行文件的路径). 当我运行我的脚本时,我希望宏像这样插入脚本的文件名: mypy.exe myScript.py 然而,它只运行 mypy.exe 部分(在控制台中,我收到一条错误消息,告诉我向该函数提供目标脚本).我也尝试删除工作目录字段,但无济于事: (Win10/P
..
我有以下带有 python 类型提示的代码它有一堆错误.代码中的所有错误都被 mypy 发现,而不是 S 的构造函数中的错误.为什么?我不知道发生了什么谢谢 代码: 导入输入T类(对象):def __init__(self, a: int, b: str = None) ->没有任何:self.a = aself.b:typing.Union[str, None] = bself._cal
..
我正在寻找一种方法来注释工厂函数的返回类型. 它返回'AlgorithmBase'的随机子节点. 类算法工厂:_algorithm_types = AlgorithmBase.__subclasses__()def select_random_algorithm(self) ->算法库:# 选择随机算法algorithm_class = self._random_generator.cho
..
对于以下文件: from abc import ABC,abstractmethodfrom 输入 import Any, Awaitable, Callable, TypeVar, castT = TypeVar('T')def dec(args: Any) ->Callable[..., Awaitable[T]]:def dec2(f: Callable[..., Awaitable[T]
..