分享

python ----反射(自省)

 小猪窝969 2018-12-05
python的反射(自省) 就是自己检查自己,自己操作自己的各个属性值时各种返回状态
python面向对象属性分为:实例属性(变量)和方法属性(函数方法,动作)
#反射
# class School:
# name ="SB"
# def __init__(self,name):
# self.name1 = name
# def test(self):
# print("测试下反射")
# def __getattr__(self, item):#调用的属性在类属性或者实例属性中不存在执行
# print("测试下反射get")
# def __delattr__(self, item):#删除实例的属性时执行,不存在不会报错
# print("测试下delattr反射")
# def __setattr__(self, key, value):#设置或者添加实例属性时执行
# 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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多