装饰器是由函数去生成的,用于装饰某个函数或者方法或者类,他可以让这个函数在执行之前或者执行之后做一些操作。实例先定义一个函数func#!/usr/bin/envpython#_*_coding:utf-8_*_deffunc(arg):
#接受一个参数argprint(arg)
#输出这个参数func("HelloWorld!")
#调用脚本并且传..
分类:
编程语言 时间:
2017-04-14 10:48:51
阅读次数:
268
一.基本装饰器 基本装饰器的作用: 在不改变原函数的基础上, 通过装饰器, 给原函数新增某些功能 实现方法: 在原函数上加 @装饰器名字 其中@叫做语法糖 定义装饰器 第一层函数传入参数(用于传入原函数) 第二层使用原函数的同时, 加入需要新增的功能 第一层函数要返回第二层函数名 整个函数形成闭包 ...
分类:
编程语言 时间:
2017-04-12 17:25:48
阅读次数:
171
1、定义无参装饰器为被装饰器添加统计运行时间的功能2、定义有参装饰器为被装饰器添加认证功能:用户的信息可以来源于file也可以是ldap,三次验证失败锁定用户 同http://www.cnblogs.com/xuyaping/p/6679305.html,只不过加了装饰器统计时间和认证功能。 ...
分类:
编程语言 时间:
2017-04-10 23:23:46
阅读次数:
232
def Mylog(): print("my log") 上面是定义的一个装饰器,装饰器都使用闭包实现 执行log("ddd"),只会打印1,也就是当前返回deractor1这个函数。 如果执行log("dddddd")(Mylog),就会打印1,2,也就是当前返回的函数是wrapper。 如果lo ...
分类:
编程语言 时间:
2017-04-09 13:54:20
阅读次数:
184
装饰器 定义:本质是函数,(装饰其他函数),即为其他函数添加附加功能。 原则: 1、不能修改被装饰的函数的源代码; 2、不能修改被装饰的函数的调用方式。实现装饰器知识储备: 1. 函数即'变量' 2. 高阶函数 a. 把一个函数名当作实参传递给另一个函数(在不修改被装饰函数源代码的前提下为其添加新功 ...
分类:
编程语言 时间:
2017-04-03 19:36:28
阅读次数:
205
#!/usr/bin/evnpython
#_*_coding:utf-8-*-
importsocket
defauth(func):
definner(*args,**kwargs):
print‘befor‘
temp=func(*args,**kwargs)
print‘after‘
returntemp
returninner
@auth
defcpu():
print"CPU性能告警"
@auth
defdisk():
print"磁盘满了,快点删啊!"
..
分类:
编程语言 时间:
2017-03-30 19:57:48
阅读次数:
139
装饰器(语法糖)的原则及构成: 原则: 1、不能修改被装饰函数的源代码。 2、不能修改被装饰函数的调用方式。 3、不能改变被装饰函数的执行结果。 装饰器对被装饰函数是透明的。 如何理解装饰器 1、函数即“变量” 2、高阶函数 a:把一个函数名作为实参传递给另外一个函数 b:返回值中包含函数名 3、嵌 ...
分类:
编程语言 时间:
2017-03-26 11:59:52
阅读次数:
205
1.python装饰器的缺点 装饰器可以允许我们在不改变函数或犯方法的调用方式的情况下,添加额外的功能; 如下所示,我们要在中的方法之前增加装饰器check_is_admin,用来判断执行类的方法的用户是否为admin用户; 但是,经过装饰器修饰的函数,其func_name和func_doc的属性都 ...
分类:
编程语言 时间:
2017-03-23 18:42:12
阅读次数:
473