Соответствие typename в namedtuple from collections import namedtuple Point=namedtupe('whatsmypurpose',['x','y']) p=Point(11,22) print(p) Вывод: whatsmypurpose(x=11,y=22) Какова релевантность/использование 'whatsmypurpose'? Ответ 1 namedtuple() - это функция factory для кортежей. Здесь whatsmypurpose - это имя типа. Когда вы создаете именованный кортеж, класс с таким именем (whatsmypurpose) создается внутренне. Вы можете заметить это, используя аргумент аргумента типа: Point=namedtuple('whatsmypurpose',['x','y'], verbose=True) Также вы можете попробовать тип (p), чтобы проверить это. Ответ 2 'whatsmypurpose' дает новый подкласс его имя типа. Из документов: collections.namedtuple( typename, field_names, verbose = False, rename = False) Возвращает новый подкласс подставок с именем typename. Вот пример: >>> from collections import namedtuple >>> Foo = namedtuple('Foo', ['a', 'b']) >>> type(Foo) <class 'type'> >>> a = Foo(a = 1, b = 2) >>> a Foo(a=1, b=2) >>> Foo = namedtuple('whatsmypurpose', ['a', 'b']) >>> a = Foo(a = 1, b = 2) >>> a whatsmypurpose(a=1, b=2) >>>
Ответ 1 namedtuple() - это функция factory для кортежей. Здесь whatsmypurpose - это имя типа. Когда вы создаете именованный кортеж, класс с таким именем (whatsmypurpose) создается внутренне. Вы можете заметить это, используя аргумент аргумента типа: Point=namedtuple('whatsmypurpose',['x','y'], verbose=True) Также вы можете попробовать тип (p), чтобы проверить это.
Ответ 2 'whatsmypurpose' дает новый подкласс его имя типа. Из документов: collections.namedtuple( typename, field_names, verbose = False, rename = False) Возвращает новый подкласс подставок с именем typename. Вот пример: >>> from collections import namedtuple >>> Foo = namedtuple('Foo', ['a', 'b']) >>> type(Foo) <class 'type'> >>> a = Foo(a = 1, b = 2) >>> a Foo(a=1, b=2) >>> Foo = namedtuple('whatsmypurpose', ['a', 'b']) >>> a = Foo(a = 1, b = 2) >>> a whatsmypurpose(a=1, b=2) >>>