首先,我们来看两个内置函数,isinstance和issubclass,前者是判断一个对象是不是相应的类型,比如:obj=‘python‘
print(isinstance(obj,str))判断obj是否为字符串类型,结果返回True后者issubclass则判断一个类是否为另一个的子类,比如:classA:
pass
classB(A):
pass
print(..
分类:
编程语言 时间:
2017-04-24 22:50:52
阅读次数:
219
一.什么是反射?反射,又被称为自省,主要是指程序本身可以访问,检测,和修改“自己”,状态或行为的一种能力。二.python是如何体现这种反射机制的?通过字符串去操作对象相关的属性,python中,一切皆对象,所有的地方都可以用到反射。python内部提供了四个实现反射(自省)..
分类:
编程语言 时间:
2017-04-20 12:14:55
阅读次数:
185
反射的定义根据字符串的形式去某个对象中操作成员根据字符串的形式去一个对象中寻找成员根据字符串的形式去一个对象中设置成员根据字符串的形式去一个对象中删除成员根据字符串的形式去一个对象中判断成员是否存在初始反射通过字符串的形式,导入模块根据用户输入的模块名称,..
分类:
编程语言 时间:
2017-04-16 23:17:36
阅读次数:
303
对编程语言比较熟悉的朋友,应该知道“反射”这个机制。Python作为一门动态语言,当然不会缺少这一重要功能。然而,在网络上却很少见到有详细或者深刻的剖析论文。下面结合一个web路由的实例来阐述python的反射机制的使用场景和核心本质。 一、前言 1 2 3 4 5 def f1(): print( ...
分类:
编程语言 时间:
2017-03-27 10:29:30
阅读次数:
249
文件层级结构如下: reflact backend account.py admin.py index.py index 里面需要用到account.py中的函数login(),反射代码如下: #等同于importdata = input('plase input ur url:')array = ...
分类:
编程语言 时间:
2017-01-10 21:25:21
阅读次数:
180
python里面跟getattr相关的有hasattr,setattr,delattr ,那么我们通过下面的例子,来详细的说说他们的用法。 一. hasattr(object,name) bool 判断object中是否具有name属性,例如: foo = Xiaorui() hasattr(foo ...
分类:
编程语言 时间:
2017-01-10 20:56:29
阅读次数:
189
增强版示例: 以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。 还不够吊?python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密 4. 比较print 与 sys.stdout.writ ...
分类:
编程语言 时间:
2016-10-29 22:22:55
阅读次数:
399
Python里面反射指的是可以通过字符串在对象里面(比如一个模块)去操作(查找,删除,判断)一个成员(比如这个模块里面的函数)。比如目前所学的知识,我们需要在模块s1.py中调用一个函数f1,我们需要导入s1.py,然后才能执行f1()imports1
s1.f1()如果一个大型软件有几百上千个..
分类:
编程语言 时间:
2016-09-09 01:08:10
阅读次数:
164
反射:可以结合工厂模式一起学习!#!/usr/bin/python
#-*-coding:utf-8-*-
__author__=‘gaogd‘
‘‘‘
反射
‘‘‘
classMyclass(object):
name=‘test‘
defsayhi(self):
print"sayhi"
definfo(self):
pass
defrun():
print"runingoutsidetheclass"
m=Myclass()
user_input=‘te..
分类:
编程语言 时间:
2016-09-07 06:56:40
阅读次数:
191