redundant-numeric-union (PYI041)(冗余数值联合类型)
源自 flake8-pyi 代码检查器。
有时提供修复。
作用
检查参数注解是否包含内置数值类型之间的冗余联合类型(例如,int | float
)。
为什么这不好?
类型标注规范声明:
Python 的数值类型
complex
、float
和int
彼此之间不是子类型,但是为了支持常见的用例,类型系统包含一个简单的快捷方式:当一个参数被注解为类型float
时,类型int
的参数是可以接受的;类似地,对于一个被注解为类型complex
的参数,类型float
或int
的参数是可以接受的。
因此,包含 int
和 float
的联合类型在参数注解的特定上下文中是冗余的,因为它等同于只包含 float
的联合类型。为了可读性和清晰度,联合类型应该省略冗余元素。
示例
建议改为
修复安全性
除非类型注解包含注释,否则此规则的修复被标记为安全。
请注意,虽然修复可能会将嵌套的联合类型展平为单个顶级联合类型,但注解的语义将保持不变。