让A类的对象a具有属性“.my_tuple”。 我希望能够获得此属性调用。这是一种干净的方式来实现一种“__tuple__”方法?
tuple(a)
的simplier办法,我发现是定义,如:
class A():
# other things
def __iter__(self):
return self.my_tuple.__iter__()
但似乎有点脏:我的理解是,“元组(一)”将遍历self.my_tuple为了构建它的副本,而我只需要一个指针...是内置的“元组”优化来处理这些情况?如果不是,这是否是一个最好的方式来做到这一点(保持“pythonic”:在我的情况下,将A型转换为元组是有意义的)。
如果你真的想要一个指针或Pythonic舌头中的引用,为什么不直接调用'a.my_tuple'。元组本身是不可变的,我认为 –
这种情况并不完全是我所描述的:我有几个属性,例如a.b,a.c,a。d和我想能够做元组(a)来获得(b,c,d)。我可以添加一个名为a.tuple()的工作人员,但它对我来说看起来并不pythonic。 – Sebastien
不清楚你在问什么。你的问题听起来像你有一个属性已经是一个元组,你确实想创建一个不必要的元组副本。现在你说你想让元组保存几个(全部?)该类的属性的内容。请澄清。 –