2011-02-13 88 views
1

什麼是完成以下任務的最好方法,無論是繼承元組還是其他一些技巧?Python,擴展/添加字段到元組

region = ("buffer", "region") 
region.cmd = ("kill", "mark") 
+0

您可能會繼承子類,但請注意`region`是一個元組,而不是一個列表。 – 2011-02-13 01:40:10

回答

6

你可以簡單地繼承tuple無需修改,它會工作。通過繼承內置類,它可以獲得分配給它的任意屬性,就像普通的用戶定義的類一樣。

class Region(tuple): 
    pass 

region = Region(("buffer", "region")) 
region.cmd = ("kill", "mark") 
0

我不確定你在問什麼。

如果你想嵌套的數據結構,我可能會使用字典,而不是元組。我相信元組是不可變的。

1
class Region(tuple): 
    def __init__(self, *args): 
     super(Region, self).__init__(self, *args) 
     self.cmd = None 


region = Region(("buffer", "region")) 
region.cmd = ("kill", "mark")