跳到内容

redundant-literal-union (PYI051)

源自 flake8-pyi 代码检查器。

作用

检查 Literal 类型和该 Literal 类型的内置超类型之间的冗余联合。

为什么这不好?

在联合中使用 Literal 类型及其内置超类型是多余的,因为超类型将严格比 Literal 类型更通用。例如,Literal["A"] | str 等价于 str,而 Literal[1] | int 等价于 int,因为 strint 分别是 "A"1 的超类型。

示例

from typing import Literal

x: Literal["A", b"B"] | str

建议改为

from typing import Literal

x: Literal[b"B"] | str