Я все еще новичок в Python, так что это может быть глупый вопрос, но я не понимаю назначение первого параметра для type()
и namedtuple()
:
tuple_typename = namedtuple( 'tuple_typename', 'member1 member2 member3' )
custom_typename = type( 'custom_typename', (base_type,), members_dictionary )
Iне понимаете разницу между возвращаемым значением и строковым параметром? Если возвращаемое значение является ссылкой на тип, зачем нам его указывать в качестве параметра? Или если нам нужно указать его как строковый параметр, зачем нам нужно захватывать возвращаемое значение?
И еще один связанный с этим вопрос: если входная строка является спецификацией имени типа, есть ли способконтролировать пространство имен, к которому будет добавлено имя типа? Например, могу ли я добавить подкласс в существующий класс за пределами этого класса?
Редактировать: Несмотря на то, что я принял хороший ответ, мне было интересно, может ли кто-нибудь очистить один из них? Другое дело. Как только я определю именованный кортеж или пользовательский тип, когда и / или где я буду использовать первый строковый параметр? Как я могу ссылаться на имя типа позже, используя имя, указанное для этого параметра? Это возможно? Или ссылка на тип теряется, когда возвращаемое значение функции выходит из области видимости? Обновление: См. Комментарии принятого ответа