美文网首页
python基础--反射

python基础--反射

作者: fada492daf5b | 来源:发表于2018-05-04 23:41 被阅读0次

    1、什么是反射

    主要是指程序可以访问、检测和修改它本身状态或行为的一种能力

    2、Python的反射

    2.1
    import和import区别
    import固定导入需要加载的包import tornado.options
    import可以动态导入需要加载的包__import__("tornado.options", fromlist=True)

    如果不加上fromlist=True,只会导入list目录 )

    2.2
    4个内置函数getattr、hasattr、setattr、delattr 获取成员、检查成员、设置成员、删除成员

    class C(object):
        def __init__(self, name)
            self.name = name
    
        def func(self)
            print(self.number)
    
    obj = C("狗")
    #获取成员
    ret = getattr(obj, 'func')#获取的是个对象
    r = ret()
    print(r)
    
    #检查成员
    ret = hasattr(obj,'func')#因为有func方法所以返回True
    print(ret)
    
    #设置成员
    print(obj.name) #设置之前为:abc
    ret = setattr(obj,'name',19)
    print(obj.name) #设置之后为:19
    
    #删除成员
    print(obj.name) #abc
    delattr(obj,'name')
    print(obj.name) #报错
    

    `

    相关文章

      网友评论

          本文标题:python基础--反射

          本文链接:https://www.haomeiwen.com/subject/hkerrftx.html