总结

__import__

__getattr__

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

import commons

target_func=getattr(commons,"f1")

target_func()

注意getattr():里面可以设置三个参数,其中第三个参数可以设置返回的默认值,比如要找的模块里边如果没有那个函数,就可以用target_func=getattr(commons,"f111",None)

print(target_func)

要注意不知道寻找的是什么,只要是模块里边的东西都是可以寻找到的。

hasattr(commons,'NAME'):查看模块里边是否有这个属性

has_attr:根据字符串的形式去某个模块中判断某个东西是否存在:这个是has_attr()这个函数的作用

setattr(comments,"AGE",18)

反射可以根据字符串的形式去某个模块中去设置东西

也可以根据字符串的形式去某个模块中去删除某个东西

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

相当于实现一个终端版的web框架

在反射里面学到的函数有以下几种:

getattr()

hasattr()

setattr()

delattr()

扩展:有两中形式导入模块:一种是import,另外一种是__import__

可以通过import lib.test.com或者是另外一种

from lib.test import com

也可以r=__import__('lib.test.com')//注意只有这个是不行的,还得加上r=__import__('lib.test.com',fromlist=True)

print(r)

 

print(r)

 

posted @ 2017-02-27 13:30  关泉珍  阅读(28)  评论(0)    收藏  举报