python的反射(自?。?就是自己檢查自己,自己操作自己的各個屬性值時各種返回狀態(tài)
python面向對象屬性分為:實例屬性(變量)和方法屬性(函數方法,動作)
#反射
# class School:
# name ="SB"
# def __init__(self,name):
# self.name1 = name
# def test(self):
# print("測試下反射")
# def __getattr__(self, item):#調用的屬性在類屬性或者實例屬性中不存在執(zhí)行
# print("測試下反射get")
# def __delattr__(self, item):#刪除實例的屬性時執(zhí)行,不存在不會報錯
# print("測試下delattr反射")
# def __setattr__(self, key, value):#設置或者添加實例屬性時執(zhí)行
# print("測試下setattr反射")
#
# s = School("sb")
# print(s.__dict__)
#s.__dict__["tag"] = False
# print(hasattr(s,"name")) #查找類或者實例中的屬性,存在返回Ture 不存在返回Flase
# print(getattr(s,"name1111","屬性不存在"))#獲取實例或者類中的屬性,存在返回實例或者類的屬性值,不存在提示默認設置的屬性
#或者報錯
# setattr(s,"name","2")#設置、添加實例屬性值 如果實例的屬性存在則是設置操作。不存在則是添加操作
# #del s.name
#delattr(s,"name")#刪除實例屬性值,沒有則報AttributeError
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請
點擊舉報。