python3之類的 __slots__ 屬性

1. 作用

  1. 限定一個類創建的實例只能有固定的實例屬性(實例變量),不允許對象添加列表以外的實例屬性

  2. 防止用戶因錯寫屬性名稱而發生程序錯誤


2. 說明

  1. __slots__ 屬性是一個列表,列表的值是字符串

  2. 含有__slots__屬性的類所創建的實例對象沒有__dict__屬性,即此實例不用字典來存儲屬性



例如:

class Students:

   __slots__ = ["name","age","score"]

   def __init__(self,n,a,s):

       self.name,self.age,self.score= n,a,s

s1 = Students("calabash","23","90")

s1.speed = "30"        # 添加一個其他的屬性,會報錯告訴你對象沒有這個屬性,必須添加列表內的屬性


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章