2010-07-18 55 views

回答

7

你需要使它,事實上,一個屬性...:例如,在__init__

self._some_field = [] 

,再後來在類的身體:

@property 
def some_field(self): 
    return self._some_field 

注意這並沒有使列表本身不可變:將會失敗的是分配比如說,

self.some_field = 'bah' 

賦值函數一樣,說的號召,

self.some_field.append('blah') 

如果你想現場一成不變的,它不可能是一個列表,通過定義(因爲列表是一個可變的序列) - 它必須是一些其他類型的序列(一個不可變的序列),您需要爲此目的定義序列。

1

如果您的意思是該屬性,則將其設爲只讀屬性。如果你指的是列表本身,那麼使用一個元組,因爲它們是不可變的。

相關問題