假设此代码段(ipython)
In [1]: from collections import namedtuple
In [2]: type(namedtuple)
Out[2]: function
当然,您可以看到工厂函数namedtuple
是function
。在这种情况下,我无法在PEP-8中看到任何使用类的命名约定的提示。我只能看到documentation将它视为一个类作为命名约定。
为什么在这种情况下应该使用类的命名约定?
答案 0 :(得分:4)
您指的是使用名称Point
作为namedtuple
返回的类型。 namedtuple
函数是正常的,但它返回一个类(类型为type
的东西)。并PEP-8, class names should look LikeThis。
In [1]: from collections import namedtuple
In [2]: Point = namedtuple('Point', ['x', 'y'])
In [3]: type(Point)
Out[3]: type