Я создаю именованный кортеж следующим образом:
from collections import namedtuple
spam = namedtuple('eggs', 'x, y, z')
ham = spam(1,2,3)
Затем я могу получить доступ к элементам ветчины, например,
>>> ham.x
1
>>> ham.z
3
В интерпретаторе
>>> ham
eggs(x=1, y=2, z=3)
Но что, если я просто хочу получить "яйца"? Единственный способ, о котором я мог думать, -
>>> ham.__repr__.split('(')[0]
'eggs'
но это кажется немного грязным. Есть ли более чистый способ сделать это?
Почему у названных кортежей есть этот аспект "яйца", если невозможно получить к нему доступ, не прибегая к частному методу?