首页 > 编程语言 > 详细

python反射

时间:2019-12-25 20:36:38      阅读:75      评论:0      收藏:0      [点我收藏+]

python中的反射的实现,是通过hasattr、getattr、setattr、delattr四个内置函数实现的,其实这四个内置函数不只可以用在类和对象中,也可以用在模块等其他地方。

hasattr(key)返回的是一个bool值,判断某个成员或者属性在不在类或者对象中
getattr(key,default=xxx)获取类或者对象的成员或属性,如果不存在,则会抛出AttributeError异常,如果定义了default那么当没有属性的时候会返回默认值。
setattr(obj,key,value)假如有这个属性,那么更新这个属性,如果没有就添加这个属性并赋值value
delattr(key)删除某个属性

class Person():
    def __init__(self,name,age):
        self.name=name
        self.age=age

if __name__==__main__:
    li=Person(lili,18)
    print(hasattr(li,name))
    setattr(li,age,22)
    print(getattr(li,age))
    delattr(li,age)
    print(getattr(li,age))

 

python反射

原文:https://www.cnblogs.com/wangbin2188/p/12098644.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!