跳到内容

none-not-at-end-of-union (RUF036)

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查类型注解中 None 不在联合类型末尾的情况。

为什么这不好?

类型注解联合类型是结合律的,意味着元素的顺序并不重要。None 字面量代表缺少值。为了可读性,最好先写更具信息量的类型表达式。

示例

def func(arg: None | int): ...

建议改为

def func(arg: int | None): ...

参考