如何检索 namedtuple class(不是实例)的字段?

How to retrieve the fields of a namedtuple class (not instance)?

给定一个命名元组:

from collections import namedtuple

MyNamedTuple = namedtuple('MyNamedTuple', ['foo','bar'])

我想在 MyNamedTuple 的字段上获得一个可迭代对象。目前我

[k for k in MyNamedTuple._fields]

但这使用了 protected/private 属性 _fields。有没有办法不使用 _fields 或 protected/private attribute/methods?

我会说 _fields 是正确的 class 属性,因为这是它的 documented purpose

不过,我不知道他们选择在此属性名称前加上下划线的原因。