In 8.3. collezioni - Tipi di dati del contenitore - Documentazione Python 3.6.4rc1 , specifica 5 metodi di namedtuple
.
namedtuple_methods = {'_fields', '_make', '_replace', '_asdict', '_source'}
Tuttavia, i metodi non possono essere acquisiti con il metodo dir
from collections import namedtuple
set(dir(namedtuple)) & namedtuple_methods
In [64]: set(dir(namedtuple)) & namedtuple_methods
Out[64]: set()
Non condividono alcuna intersezione.
È interessante notare che un particolare namedtuple
elenca i metodi
Book = namedtuple('Book', 'name, author')
In [70]: set(dir(Book)) & namedtuple_methods
Out[70]: {'_asdict', '_fields', '_make', '_replace', '_source'}
Qual è il meccanismo dietro?