python系列四反射机制

安稳与你 提交于 2019-12-06 10:52:26
反射机制原理:
1.根据字符串的形式导入模块。2.根据字符串的形式去对象(某个模块)中操作其成员 实现思路:规定用户输入格式 模块名/函数名 通过__import__的形式导入模块,并通过 hasattr和getattr 检查并获取函数返回值。练习一:
#通过用户输入的形式, 导入模块
inp = input('请输入需要导入的模块名:')
#__import__用于以字符串的形式导入模块
dd = __import__(inp)
#在模块寻找函数并执行函数
inp_func = input('请输入需要执行的函数:')
#getattr()用于以字符串的形式去某个模块中寻找函数
tager_func = getattr(dd, inp_func)
#在获取到的函数名后加()表示执行函数
result = tager_func()
print(result)

 练习二:

1).创建文件common.py

def login():
    return 'login'


def logout():
    return 'logout'


def nb():
    return '很牛逼的网页'

2.创建文件test.py

import common

inp = input('请输入模拟的url路径:')
url_inp = inp.split('/')[-1]
if hasattr(common, url_inp):
    ret = getattr(common, url_inp)
    result = ret()
    print(result)
else:
    print('404')

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!