Python 是動(dòng)態(tài)語言,允許我們動(dòng)態(tài)的增加屬性和方法
class Student(object):
pass
s = Student()
s.name = "LiLei"
print(s.name)
>>> LiLei
同樣也有辦法限制屬性的動(dòng)態(tài)綁定
class Teacher(object):
# 用tuple定義允許綁定的屬性名稱,但是此限制對(duì)子類不起作用
__slots__ = ('name', 'age')
如上所示可以規(guī)定 class Teacher 只可以綁定 name 和 age 兩個(gè)屬性
t = Teacher()
# 此處不能再添加屬性
t.height = 1
>>> AttributeError: 'Teacher' object has no attribute 'height'
但是 slots 對(duì)子類是不起作用的
class MiddleTeacher(object):
pass
s = MiddleTeacher()
s.height = 1
print(s.height)
>>> 1
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。