Token
是一个命名元组,绝对不是常量。它不遵循其他变量名称的命名风格,只是强调它是一个类工厂函数。
如果将其写为token
,则不会出现来自PEP 0008样式检查器(例如PyCharm)的警告,但我认为这不是一个好习惯,因为这种方式不能将其区分为类工厂名称。Point = namedtuple('Point', ['x', 'y'])
Point3D = namedtuple('Point3D', Point._fields + ('z',))
Book = namedtuple('Book', ['id', 'title', 'authors'])
collections.namedtuple
。正如文档所述,
没有PEP 8违规;
collections.namedtuple(typename, field_names, verbose=False, rename=False)
返回一个名为
typename
的新tuple
子类。新的子类用于创建类似于元组的对象,这些对象可以通过属性查找访问字段,也可以进行索引和迭代。子类的实例还具有一个有用的docstring(带有typename和field_names),以及一个有用的__repr__()
方法,该方法以name=value
格式列出了元组内容。
Token
是用户定义的类,其名称应大写。
namedtuple
是一个类工厂。 - jonrsharpe