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) #报错
`
网友评论