面向对象
- 面向对象初级篇
一、反射
python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改成四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员
- 通过字符串的形式,导入模块
- 通过字符串的形式,去模块中寻找指定函数,并执行
__import__()用于以字符串的形式导入模块
反射就是根据字符串的形式去某个模块中寻找东西
- getattr根据字符串的形式去某个模块中寻找东西
- hasattr根据字符串的形式去某个模块中判断东西是否存在
- setattr根据字符串的形式去某个模块中设置东西
- delattr根据字符串的形式去某个模块中删除东西
#根据字符串的形式去对象(某个模块)中操作成员
详细解析:
当我们要访问一个对象的成员时,应该是这样操作:
那么问题来了:
a、上述访问对象成员的name和func是什么?
答:是变量
b、obj.xxx是什么意思?
答:obj.xxx表示去obj中或类中寻找变量名xxx,并获取对应内存地址中的内容
c、需求:请使用其他方式获取obj对象中的name变量指向内存中的值“alex”
答:有两种方法:
一、
二、
结论:反射是通过字符串的形式操作对象相关的成员。一切事物都是对象!!!
web框架的例子