在函数对象中保存着一些函数的元数据,例如: f.__name__ : 函数的名字 f.__doc__ : 函数文档字符串 f.__moudle__ : 函数所属模块名 f.__dict__ : 属性字典 f.__defaults__ : 默认参数元组 使用装饰器后,再使用上面这些属性访问时,看到的是 ...
分类:
其他好文 时间:
2017-06-02 14:51:19
阅读次数:
158
前段时间用Senparc做微信开发,但是个人感觉不太好用,所以我把Senparc的API用装饰器模式进行二次封装。 微信开发者平台文档地址:https://mp.weixin.qq.com/wiki 0x00 先上一个抽象类,对各种类型消息的抽象封装 0x01 用枚举区分消息类型 0x02 按照每种 ...
分类:
其他好文 时间:
2017-06-01 12:08:17
阅读次数:
831
实例1:#!/usr/bin/envpython
#-*-encoding:utf-8-*-
defmakebold(fn):
defwrapped():
return"<b>"+fn()+"</b>"
returnwrapped
defmakeitalic(fn):
defwrapped():
return"<i>"+fn()+"</i>"
returnwrapped
@makebold
@makeitalic
defhello():
return..
分类:
其他好文 时间:
2017-06-01 00:28:19
阅读次数:
90
面向对象高级语法部分 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当 ...
分类:
其他好文 时间:
2017-06-01 00:17:47
阅读次数:
242
装饰器 注:deco(count)和下面的count(num)中的count只是一个形参,count可以用任何变量名替换,但是num是一定要有,因此传入的实参是被装饰函数,被装饰函数有num形参。 总结:1、装饰器没有修改被装饰函数的源代码和调用方式 2、用到了高阶函数,把被装饰函数函数名当做实数传 ...
分类:
编程语言 时间:
2017-05-31 16:31:31
阅读次数:
149
#/usr/bin/envpython2.7
#-*-coding:utf-8-*-
"""
功能:
登录验证模块
详细说明:
1.密码文件为passwd
2.passwd未创建或丢失,会提示:密码文件不存在,建议重新注册!!
3.未注册用户登录会提示:用户名不存在,请您先进行注册!
4.已注册用户登录时,忘记密码,尝试3次后密..
分类:
编程语言 时间:
2017-05-30 19:24:33
阅读次数:
193
原文出处: 田小计划 装饰模式有很多经典的使用场景,例如插入日志、性能测试、事务处理等等,有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的。下面就一步步看看Python中的装饰器。 一个简单的需求 现在有一个简单的函数”myfunc”,想通过代码得到这个函数的大概执行 ...
分类:
编程语言 时间:
2017-05-30 18:09:55
阅读次数:
283
參考来自:http://zz563143188.iteye.com/blog/1847029 一、设计模式的分类 整体来说设计模式分为三大类: 创建型模式。共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、 ...
分类:
其他好文 时间:
2017-05-30 12:45:28
阅读次数:
266
三种名称空间内置名称空间:随着python解释器的启动而产生全局名称空间:文件级别定义的名字会放入该空间局部名称空间:调用函数时会产生局部名称空间,只在函数调用时临时有效作用域全局作用域:内置名称空间,全局名称空间局部作用域:局部名称空间名字查找顺序局部名称空间-..
分类:
其他好文 时间:
2017-05-29 15:55:21
阅读次数:
128
1 import time 2 3 def timethis(func): 4 """ 5 测试函数运行花费时间的装饰器 6 """ 7 def wrapper(*args, **kwargs): 8 start = time.time() 9 result = func(*args, **kwar... ...
分类:
其他好文 时间:
2017-05-29 13:30:50
阅读次数:
153