将命名元组函数式转换为类 (UP014)
源自 pyupgrade linter。
有时提供修复。
作用
检查使用函数式语法的 NamedTuple
声明。
为什么这不好?
NamedTuple
子类可以通过函数式语法 (Foo = NamedTuple(...)
) 或类语法 (class Foo(NamedTuple): ...
) 定义。
类语法更易读,通常比函数式语法更受欢迎,函数式语法主要用于向后兼容 collections.namedtuple
。
示例
建议改为
修复安全性
如果 NamedTuple
定义的范围内有任何注释,则此规则的修复被标记为不安全,因为这些注释将被自动修复删除。