讓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
不清楚你在問什麼。你的問題聽起來像你有一個屬性已經是一個元組,你確實想創建一個不必要的元組副本。現在你說你想讓元組保存幾個(全部?)該類的屬性的內容。請澄清。 –