In 8.3. collections — Container datatypes — Python 3.6.4rc1 documentation, it specify 5 methods of namedtuple.
namedtuple_methods = {'_fields', '_make', '_replace', '_asdict', '_source'}
Nevertheless, the methods cannot be acquired by dir method
from collections import namedtuple
set(dir(namedtuple)) & namedtuple_methods
In [64]: set(dir(namedtuple)) & namedtuple_methods
Out[64]: set()
They share no intersection.
Interestingly, a particular namedtuple lists the methods
Book = namedtuple('Book', 'name, author')
In [70]: set(dir(Book)) & namedtuple_methods
Out[70]: {'_asdict', '_fields', '_make', '_replace', '_source'}
What's the mechanism behind?