面向对象

  • 面向对象初级篇

一、反射

  python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改成四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员

  • 通过字符串的形式,导入模块
  • 通过字符串的形式,去模块中寻找指定函数,并执行

  __import__()用于以字符串的形式导入模块

  反射就是根据字符串的形式去某个模块中寻找东西

  1. getattr根据字符串的形式去某个模块中寻找东西
  2. hasattr根据字符串的形式去某个模块中判断东西是否存在
  3. setattr根据字符串的形式去某个模块中设置东西
  4. delattr根据字符串的形式去某个模块中删除东西

#根据字符串的形式去对象(某个模块)中操作成员

详细解析:

  当我们要访问一个对象的成员时,应该是这样操作:

那么问题来了:

a、上述访问对象成员的name和func是什么?

  答:是变量

b、obj.xxx是什么意思?

  答:obj.xxx表示去obj中或类中寻找变量名xxx,并获取对应内存地址中的内容

c、需求:请使用其他方式获取obj对象中的name变量指向内存中的值“alex”

  答:有两种方法:

  一、

  二、

结论:反射是通过字符串的形式操作对象相关的成员。一切事物都是对象!!!

web框架的例子

 

posted @ 2018-05-04 15:51  麦兜家的鱼丸  阅读(126)  评论(0编辑  收藏  举报