我创建了一个这样的命名元组:
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'
但这似乎有点乱。有更清洁的方法吗?
如果在不诉诸私有方法的情况下无法访问命名元组,为什么命名元组对它们具有这种“鸡蛋”方面?