反射的应用
来源:互联网 发布:linux如何创建目录链接 编辑:程序博客网 时间:2024/05/29 19:05
我们在来复习一下反射
#demo.py中的程序#!/usr/bin/env python#coding:utf-8def Foo(): print "demo.foo"#主程序#!/usr/bin/env python#coding:utf-8str1 = 'demo'str2 = 'Foo'module = __import__(str1) # == import demofunk = getattr(module, str2)#getattr相当于房户户demo模块中的Foo函数funk()#可以看到getater就是找到foo函数,并且赋给funk函数。结果:demo.foo
我们引入反射的应用实例
#account.py文件#!/usr/bin/env python#coding:utf-8#登录网站相关文件def login(): print 'login'def logout(): print 'logout'#index.py文件#!/usr/bin/env python#coding:utf-8from backend import accountdata = raw_input("请输入URL:")array = data.split('/')if data == 'accout/login': account.login()elif data == 'account/logout': account.logout()#这里我们的大型网站如果有100个URL是不是我们要写100个if呢,这里我们就可以用反射动态获取。在下面介绍
一般web获取URL的原理
#这里admin.py和account.py都时我们URL的一个分页面#admin.py文件#!/usr/bin/env python#coding:utf-8def index(): print '欢迎登陆后台管理'#account.py文件#!/usr/bin/env python#coding:utf-8#登录网站相关文件def login(): print 'login'def logout(): print 'logout'#index.py文件#!/usr/bin/env python#coding:utf-8data = raw_input("请输入URL:")array = data.split('/')userspance = __import__('backend.'+array[0])model = getattr(userspance, array[0])func = getattr(model, array[1])#相当于先导入一个文件夹,在文件夹中在导入那个模块,在执行函数。#这里__import__ 相当于先导入import backend.account,然后在导入模块,在执行login()函数,也就是跟正常的没有区别,先import backend,然后backend.account,然后在backend.account.login#这里我们正常导入模块时 import bachend.account ,执行的时候是使用backend.account.login(),所以我们这里在使用两次次getattr,这下应该差不多明白了func()#一次执行结果:请输入URL:admin/index欢迎登陆后台管理
阅读全文
0 0
- 反射的简单应用
- 关于反射的应用
- 反射的实际应用
- 反射的应用
- android 反射的应用
- 反射机制的应用
- Java反射的应用
- C# 反射的应用
- java反射的应用
- 反射的应用
- Java反射的应用
- java反射的应用
- 类反射的应用
- java反射的应用
- 《Java反射的应用》
- 反射的基本应用
- 反射的应用
- 反射简单的应用
- 动态代理
- CORS跨域 GET、POST、PUT、DELETE等请求
- Contestants Division(树形dp+删边)
- 固定头部导航栏案例
- 网络编程1
- 反射的应用
- 深入学习JS中Array对象与String对象
- 在LayaAir IDE中 使用git 发布代码到码云
- 第一个flag
- LeetCode [Median of Two Sorted Arrays]
- File "message.py", line 2 SyntaxError: Non-UTF-8 code starting with '\xbd' in file message.py on l
- 从100万个整数里找出100个最大的数
- js 跨域问题
- 实现一个函数判断year是不是润年