三十八、python中反射介绍
一、反射:根据字符串的形式去对象(某个模块)中去操作成员
通过字符串的形式,导入模块
通过字符串的形式,去模块中寻找指定的函数,并执行 1.__import__:用于字符串的形似执行导入模块
inp=input("请输入模块名:") |
2.getattr:用于字符串的形式去某个模块中寻找函数
imp=input("请输入执行的函数名称:") #在获取到的函数名后加(),执行函数 |
3.hasattr()根据字符串的形式去某个模块中判断东西是否存在
r=hasattr(dd,imp) |
4.setattr(obj,name,value):根据字符串的形式去某个模块中设置东西(创建于内存中)
setattr(dd,'age',18) setattr(dd,'age',lambda a:a+1) |
5.delattr()根据字符串的形式去某个模块中删除东西
delattr(dd,'age') |
6.导入其他包下的函数
#from lib.test import com
故选择这种方式 r=__import__('lib.test.com',fromlist=True) |
二、一个包下的一个函数文件
from lib import account url=input("请输入url:") |
三、多个模块下的多个函数(即基于web框架的路由器)
#格式:模块名/函数 |
三十八、python中反射介绍的更多相关文章
- Deep learning:三十八(Stacked CNN简单介绍)
http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html 前言: 本节主要是来简单介绍下stacked CNN(深度卷积网络 ...
- 学以致用三十二-----python中函数的括号使用
一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__( ...
- 三十八 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)介绍以及安装
elasticsearch(搜索引擎)介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticse ...
- java 面向对象(三十八):反射(二) Class类的理解与获取Class的实例
1.Class类的理解 1.类的加载过程:程序经过javac.exe命令以后,会生成一个或多个字节码文件(.class结尾).接着我们使用java.exe命令对某个字节码文件进行解释运行.相当于将某个 ...
- SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)
0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
- 孤荷凌寒自学python第三十天python的datetime.datetime模块
孤荷凌寒自学python第三十天python的datetime.datetime模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.datetime模块包含了:datet ...
- NeHe OpenGL教程 第三十八课:资源文件
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Java进阶(三十八)快速排序
Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...
随机推荐
- java 导出自定义样式excel
由于项目需要 要求导出一个这样的表格 然而 正常导出的表格都是这样婶儿地 这种格式网上demo有很多就不详细说了 ,主要说说上面三行是怎么画的. 第一行大标题,是9行合并成的一行,而且字体大小需要单独 ...
- 手把手带你了解sass
sass的使用 减少重复的工作 1.变量的声明: 是以$开头给变量命名; $height-color: #F30 2.变量的使用范围: 变量可以在多个地方存在,不一定限制在代码块中.但是如果定义在了代 ...
- python cv2展示网络图片、图片编解码、及与base64转换
从网络读取图像数据并展示 需要使用cv2.imdecode()函数,从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式:主要用于从网络传输数据中恢复出图像. # -*- coding: utf ...
- PyCharm专业版下载安装
目录 1. 推荐阅读 2. PyCharm专业版 (目录) 1. 推荐阅读 Python基础入门一文通 | Python2 与Python3及VSCode下载和安装.PyCharm安装.Python在 ...
- java 集合之HashMap、Hashtable、LinkedHashMap、TreeMap
HashMap 实现了Map接口,线程不安全. 实现原理: HashMap由数组+链表组成,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的. 如果通过hash定位到数组位置没有链表, ...
- squid之------ACL控制
一.ACL概念 Squid提供了强大的代理控制机制,通过合理设置ACL(Access Control List,访问控制列表)并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等各 ...
- DevExpress v19.1新版亮点——WinForms篇(五)
行业领先的.NET界面控件DevExpress v19.1终于正式发布,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WinForms v19.1中新增的一些控 ...
- 甘特图 dhtmlx 插件
https://dhtmlx.com/docs/products/demoApps/advanced-gantt-chart/
- websocket和通信
最近默默的在学websocket,推荐的当然是阮一峰的博客了,其中也学到了不少 可以去看看咯 http://www.ruanyifeng.com/blog/2017/05/websocket.htm ...
- C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错
C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错 问题原因: 问题出现在iis账户权限. 解决方法: iis默认是用network service这个账户去执 ...