跳到内容

pep484 风格仅位置参数 (PYI063)

源自 flake8-pyi 代码检查器。

作用

检查是否存在 PEP 484 风格的仅位置参数。

为什么这不好?

历史上,PEP 484 建议在参数名称前加上双下划线 (__),以向类型检查器表明它们是仅位置参数。然而,PEP 570(在 Python 3.8 中引入)引入了仅位置参数的专用语法。如果在 Python 3.8+ 的函数签名中存在斜杠 (/),则斜杠之前的所有参数都将被解释为仅位置参数。

应首选新语法,因为它使用更广泛、更简洁且更具可读性。Python 在运行时也尊重它,而旧式语法仅被类型检查器理解。

示例

def foo(__x: int) -> None: ...

建议改为

def foo(x: int, /) -> None: ...

Options (选项)