mypy 相关问题

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

如何为子类实例列表进行类型注释,例如连接两个列表?

我想迭代 List[A] 和 List[Subclass of A] 并执行相同的循环。我认为做到这一点的最好方法是将两个列表连接起来。然而,mypy 对此并不高兴。 我怎样才能连接...

回答 2 投票 0

嵌套类型规范中的 TypeVar

假设我有一个使用 TypeVar 定义的类型,如下所示: T = 类型变量('T') MyType = Union[列表[T], 元组[T]] def func(a: MyType[int]): 经过 我还想要一个可选版本: MyTypeO...

回答 1 投票 0

Mypy:定义对 TypedDict 的每个子级起作用的函数

我有一个关于 TypedDicts 的打字问题。我想用“foo”方法定义一个抽象类,接受任何带有键“a”的字典。我想定义具体的类

回答 1 投票 0

python3.4中NamedTuple中的通用列表

我想定义包含通用值列表的新类型。例如(尽可能简化): 从输入导入 NamedTuple、TypeVar、List T = 类型变量('T') MyType = NamedTuple('MyType...

回答 1 投票 0


当我有两种可能的情况时,短路“或”的狭义打字

我正在尝试注释以下代码。 该函数设计为在定义了区域和区域或定义了文件(但不是两者)时工作: def get_file(区域: str, 区域: dict[str, str]) ->

回答 2 投票 0

如何使用验证器注释attrs字段?

我在注释 attrs 类属性时遇到问题。 我使用 NewType 来定义新的 UserId 类型和 attrs 冻结类。 这是 mypy 不会抱怨并且一切正常的代码: 夫...

回答 1 投票 0

如何键入注释多级装饰器

我正在尝试注释一个注入器装饰器,该装饰器在调用函数时将全局字典中的值作为关键字参数注入到装饰函数中。 任何人都可以经历过

回答 1 投票 0

缺少泛型类型“Callable”的类型参数

向以下函数添加类型提示的正确方法是什么? 从输入 import Callable def format_callback(f: 可调用) -> 可调用: “”“包装函数的函数...

回答 1 投票 0

为什么即使我检查 None,mypy 也会标记“Item None has no attribute x”错误?

尝试使用类型提示来执行Python(3.8.8),并从mypy(0.931)中获取我无法真正理解的错误。 导入 xml.etree.ElementTree 作为 ET tree = ET.parse('plant_catalog.xml') # 读入...

回答 1 投票 0

mypy什么时候可以推断collections.Counter等容器的类型?

运行这个mypy要点(https://mypy-play.net/?mypy=latest&python=3.12&gist=58a8148f2c95c7a282a6f8a11ccd689a) 从集合导入计数器 C = 计数器() 给出了这个 mypy 错误: main.py:3:

回答 1 投票 0

为什么 `re.Pattern` 是通用的?

导入重新 x = re.compile(r"你好") 在上面的代码中,x 被确定为 re.Pattern[str] 类型。但为什么 re.Pattern 是通用的,然后专门用于字符串呢? re.Pattern 是什么意思...

回答 1 投票 0

专门化正则表达式类型 re.Pattern

将 re.Pattern 的类型特化为 re.Pattern[bytes],mypy 可以正确检测到类型错误: 进口再 正则表达式: re.Pattern[字节] = re.compile(b"\xab.{2}") def 检查(模式:str)->...

回答 2 投票 0

为什么 `re` 的 `Pattern` 类型是通用的?

重新导入 x = re.compile(r"你好") 在上面的代码中,x 被确定为 re.Pattern[str] 类型。但为什么 re.Pattern 是通用的,然后专门用于字符串呢? re.Pattern 是什么意思...

回答 1 投票 0

mypy/pyright 不会警告未定义的类属性

A类: def set_this_or_everything_breaks(self) -> 无: self.important_variable = “c” def run(self) -> 无: print(f"这才是重要的{self.

回答 1 投票 0

Python 在具有可迭代属性的对象列表上键入嵌套迭代器

我有一个有点棘手的 python 打字问题。我有一个函数(生成器),它迭代对象列表,然后迭代每个对象的特定属性,如下所示: T = 典型...

回答 1 投票 0

你可以使用 mypy 在 python 中定义函数的类型作为参数吗?

我正在尝试使用 mypy 在 python 2.7 中注释和定义我的类型。 我似乎找不到任何描述如何将函数作为参数传递并记录其类型的文档。 例如...

回答 1 投票 0

如何安全地键入接受通用容器类的函数?

from __future__ 导入注释 导入日志记录 从日期时间导入日期时间,UTC 从输入导入 Any、Generic、Self、Protocol、TypeVar 从 pydantic 导入 AwareDatetime,BaseModel 记录器 =

回答 1 投票 0

带有关键字参数的可调用 pytest 夹具会导致 mypy linting 错误

我有以下设置: @pytest.fixture def check_answer() -> t.Callable[[dict[str, t.Any], dict[str, t.Any], int], None]: def_check( First_response: dict[str, t.Any],

回答 1 投票 0

重用类型提示

我正在尝试在函数签名中重用数据类中的类型提示 - 也就是说,无需再次键入签名。 解决这个问题的最佳方法是什么? 来自数据类...

回答 1 投票 0

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