python基础——反射
2024-09-05 16:53:51
反射:利用字符串的形式去对象(模块)中操作(寻找|检查|设置|删除)成员
getattr(commons,"login") #在commons模块中找成员login
hasattr(commons,"login") #判断commons模块中是否有login成员
setattr() #设置
delattr() #删除
自定义模块commons.py
def login():
print("登陆页面") def logout():
print("退出页面") def home():
print("主页面")
index1.py
输入login,logout,home得到相应页面
import commons
def run():
inp = input("请输入要访问的url: \n")
if hasattr(commons,inp):
func=getattr(commons,inp)
func() #如果inp="login",此时func()执行的就是commons.login()
else:
print("404") if __name__ == '__main__':
run()
index2.py
输入commons/login,commons/logout,commons/home得到相应页面
def run():
inp = input("请输入要访问的url: \n")
m,k=inp.split("/")
obj = __import__(m) #字符串的形式导入模块
if hasattr(obj,k):
func=getattr(obj,k)
func()
else:
print("404") if __name__ == '__main__':
run()
最新文章
- DBMS_NETWORK_ACL_ADMIN
- hdoj 1879 继续畅通工程
- Winform获取应用程序的当前路径的方法集合(转)
- keytool 生成 Android SSL 使用的 BKS
- iOS动态性:动态添加属性的方法——关联(e.g. 向Category添加属性)
- P1516 青蛙的约会
- koa-passport实现本地验证
- suse11 安装 python3.6 python3 安装步骤
- Gson学习文档
- js 原型链和继承(转)
- 源码安装 odoo12 -- 问题记录
- [development][dpdk][pktgen] 网卡收发包性能测试-详细数据
- Eclipse安装Markdown插件
- Centos7上卸载openJdk安装,安装自己的JDK1.8
- SSh on Ubuntu
- n转m进制标准写法(必须记忆)
- Winfrom 嵌入word、excel实现源码
- 关于docker线上部署时间问题
- 配置项目使用weblogic的JNDI数据源
- 2017北京国庆刷题Day2 morning