類中的屬性如何在類外部使用代碼進行增刪改查呢函數
增長、改變:字符串
setattr內置函數以及 __setattr__魔法方法get
class A:class
aaa = '疏樓龍宿'方法
a = A()總結
setattr(a,'aaa','人間至帥')字符
內置函數:三個參數,第一個是類名,第二個是屬性名字符串,第三個是須要修改的內容,注意,須要先實例化參數
a.__setattr__('aaa','人間至帥')實例化
魔法方法:類中的魔法方法調用,傳入屬性名字符串和須要修改的內容實例
增長又是怎麼樣的呢?一樣是這個方法,若是你輸入的屬性名,匹配不到,那麼就會自動增長,好比:
setattr(a,'bbb',123)
這就會增長一個bbb = 123 的屬性進去
查找:
hasattr內置函數和__hasattr__魔法方法
getattr內置函數和__getattr__魔法方法
class A:
aaa = '疏樓龍宿'
a = A()
hasattr(a,'aaa') 返回bool值,告訴你有沒有這個屬性在裏面
getattr(a,'aaa') 返回屬性的具體內容,獲取屬性,要注意的是,當獲取的屬性不存在,即會報錯;一樣,能夠經過對對應的魔法方法修改,來讓函數輸出其餘內容。
刪除:
delattr內置函數和 __delattr__ 魔法方法
或者 直接 del 這個實例化
delattr(re , 'ccc')
re .__delattr__('bbb')
del re
其涵義同上
總結,類的方法就是***attr這個,查找就是哈西attr(hasattr)或者獲取attr(getattr),增長/修改就是設置attr(setattr),刪除就是刪除attr(delattr),以及上述該實例化對應的魔法方法