跳到内容

collections-named-tuple (PYI024)

源自 flake8-pyi 代码检查器。

作用

检查存根文件中 collections.namedtuple 的使用情况。

为什么这不好?

typing.NamedTuplecollections.namedtuple 的“类型化版本”。

继承 typing.NamedTuple 创建自定义的 tuple 子类,其方式与使用 collections.namedtuple 工厂函数相同。但是,使用 typing.NamedTuple 允许您为类中的每个字段提供类型注释。这意味着类型检查器将有更多信息可以使用,并且能够更精确地分析您的代码。

示例

from collections import namedtuple

Person = namedtuple("Person", ["name", "age"])

建议改为

from typing import NamedTuple

class Person(NamedTuple):
    name: str
    age: int