[英]How to make a class field [list] read-only in python?
我班上有self.some_field = []
我在詢問有沒有辦法讓這個列表像一個屬性一樣只讀?
你需要把它變成一個屬性...:例如,在__init__
self._some_field = []
然后在課堂上:
@property
def some_field(self):
return self._some_field
請注意,這並不能使列表本身不變:什么會失敗的公司,比如分配 ,
self.some_field = 'bah'
不是說變種人的召喚,比如說,
self.some_field.append('blah')
如果你想讓字段不可變,根據定義,它不能是一個列表(因為列表是一個可變序列) - 它必須是你需要為此目的定義的其他類型的序列(一個不可變的序列)。
如果您指的是屬性,則將其設為只讀屬性。 如果你的意思是列表本身,那么使用元組代替,因為它們是不可變的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.