python基础--反射

2018-05-04  本文已影响0人  fada492daf5b

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) #报错

`

上一篇下一篇

猜你喜欢

热点阅读