class admin:
#限制要新增的例項屬性
#節約記憶體資源
slots= (『name』,『pwd』)
defstr(self):
return 『{}…{}』.format(self.name,self.pwd)
pass
r=admin()
r.name=『root』
r.pwd=『pwd』
##在定義了slots變數之後student類的例項已經不能隨意建立不在 slots_ 定義的屬性了
##同時還可以看到例項當中也不在有__ dict__
#在繼承關係當中的使用slots.
#子類未宣告__slots__ 時,那麼是不會繼承父類的__ slots__ 此時子類是可以隨意的屬性賦值的
#子類宣告了slots時,繼承父類的slots
#也就是子類_slots_的範圍 是為其自身+父類的slots
class user(admin):
slots= (『age』)
pass
u=user()
u.age=22
print(u.age)
python 類的屬性 slots
當乙個類需要建立大量例項時,可以通過 slots 宣告例項所需要的屬性,1 更快的屬性訪問速度 2 減少記憶體消耗 3 限定乙個類建立的例項只能有固定的例項屬性 例項變數 不允許物件新增列表以外的例項屬性 4 防止使用者因錯寫屬性名稱而發生程式錯誤 1 每個繼承的子類都要重新定義一遍 slots 例...
python限定類屬性的類屬性 slots
slots 由於python是動態語言,任何例項在執行期都可以動態地新增屬性。如果要限制新增的屬性,例如,student類只允許新增 name gender和score 這3個屬性,就可以利用python的乙個特殊的 slots 來實現。顧名思義,slots 是指乙個類允許的屬性列表 class s...
只允許對某個例項新增某個屬性 slots
如果我們想要限制例項的屬性怎麼辦?比如,只允許對student例項新增name和age屬性。為了達到限制的目的,python允許在定義class的時候,定義乙個特殊的 slots 變數,來限制該class例項能新增的屬性 class student object slots name age 用tu...