0x00 前言 def f1(): print('f1') def f2(): print('f2') def f3(): print('f3') def f4(): print('f4') a = 1 test.py import test as ss ss.f1() ss.f2() print( ...
分类:
编程语言 时间:
2018-07-24 21:17:43
阅读次数:
215
通过字符串映射或修改程序运行时的状态、属性、方法, 有以下4个方法 1.hasattr(对象名,属性或方法名): 2.getattr(对象名, 方法名):返回对象中方法在内存中的地址 3. ...
分类:
编程语言 时间:
2018-06-21 00:04:20
阅读次数:
134
python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员。 对象实例 ...
分类:
编程语言 时间:
2018-06-19 11:57:10
阅读次数:
137
isinstance和issubclass 反射 ...
分类:
编程语言 时间:
2018-06-13 22:24:07
阅读次数:
138
什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。 这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩 python面向对象中的反射: 通过字 ...
分类:
编程语言 时间:
2018-06-11 02:00:23
阅读次数:
260
在做程序开发中,我们常常会遇到这样的需求:需要执行对象里的某个方法,或需要调用对象中的某个变量,但是由于种种原因我们无法确定这个方法或变量是否存在,这是我们需要用一个特殊的方法 或机制要访问和操作这个未知的方法或变量,这中机制就称之为反射。 四个可以实现自省的函数 hasattr() getattr ...
分类:
编程语言 时间:
2018-06-01 15:27:56
阅读次数:
200
Python的hasattr() getattr() setattr() 函数使用方法详解 hasattr(object, name) 判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。 需要注意的是name要用括号括起来 geta ...
分类:
编程语言 时间:
2018-05-30 13:24:47
阅读次数:
244
一、反射 通过字符串的形式,导入模块 通过字符串的形式,去模块中寻找指定函数,并执行 import commons as CC DD=_import_('commons') CC和DD是一样的 都是指 commons 模块 commons.py index.py F1请输入f2Traceback ( ...
分类:
编程语言 时间:
2018-05-15 19:35:03
阅读次数:
165
一、动态导入模块。 介绍反射机制之前我们先来看看什么是动态导入模块。这时候,有一个需求,那就是我们不知道用户要导入哪一个模块,这时候我们应该如何设计一个程序满足去导入用户输入的模块呢? 假设我们现在有一个模块test(同级目录) def printA(): print('AAAA') def pri ...
分类:
编程语言 时间:
2018-05-12 02:51:49
阅读次数:
160
1 class Dog(object): 2 def __init__(self, name): 3 self.name = name 4 5 def eat(self, food): 6 print('%s is eating ... %s' % (self.name, food)) 7 8 de ...
分类:
编程语言 时间:
2018-05-08 23:53:30
阅读次数:
216