跳到内容

存根中的复杂赋值 (PYI017)

源自 flake8-pyi 代码检查器。

作用

检查存根文件中具有多个或非名称目标的赋值。

为什么这不好?

一般来说,存根文件应被视为类型检查器的“数据文件”,而不是为了执行而设计的。因此,强制只允许存根文件中使用 Python 语法的子集是有用的,以确保存根中的所有内容对于类型检查器来说都是明确的。

执行多重赋值或赋值给非名称目标的需要可能表明对存根文件的预期用途存在误解。

示例

from typing import TypeAlias

a = b = int

class Klass: ...

Klass.X: TypeAlias = int

建议改为

from typing import TypeAlias

a: TypeAlias = int
b: TypeAlias = int

class Klass:
    X: TypeAlias = int