首页 > 其他 > 详细

反射getattr,hasattr,setattr,delattr

时间:2017-09-29 21:55:13      阅读:326      评论:0      收藏:0      [点我收藏+]

通过字符串映射或修改程序运行时的状态、属性、方法, 有以下4个方法

getattr(object, name_str, default=None) 根据字符串name_str去获取obj对象里的方法内存地址
hasattr(object,name_str) 判断一个对象里是否有对应的name_str字符串的方法
setattr(obj, y, v)这个相当于obj.y=v
delattr(x, y)

技术分享

class Foo(object):
 
    def __init__(self):
        self.name = wupeiqi
 
    def func(self):
        return func
 
obj = Foo()
 
# #### 检查是否含有成员 ####
hasattr(obj, name)
hasattr(obj, func)
 
# #### 获取成员 ####
getattr(obj, name)
getattr(obj, func)
 
# #### 设置成员 ####
setattr(obj, age, 18)
setattr(obj, show, lambda num: num + 1)
 
# #### 删除成员 ####
delattr(obj, name)
delattr(obj, func)

反射代码示例

setattr

技术分享

技术分享

技术分享

 技术分享

技术分享

 

反射getattr,hasattr,setattr,delattr

原文:http://www.cnblogs.com/itfat/p/7612665.html

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