Как получить поля класса namedtuple (не экземпляра)? - PullRequest
0 голосов
/ 02 августа 2020

Учитывая namedtuple:

from collections import namedtuple

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

Я хотел бы получить итерацию по полям MyNamedTuple. В настоящее время я использую

[k for k in MyNamedTuple._fields]

, но здесь используется атрибут protected / private _fields. Есть ли способ сделать это без использования _fields или защищенного / частного атрибута / методов?

1 Ответ

1 голос
/ 02 августа 2020

Я бы сказал, что _fields - это правильный атрибут класса для использования, поскольку это его задокументированная цель .

Я не знаю, почему они решили добавить имя этого атрибута с подчеркиванием.

...