您的位置:首页 > 编程语言 > Python开发

Python函数:装饰器

2015-09-30 11:21 881 查看
一、使用修饰函数在函数执行前和执行后分别附加额外功能

1.1 代码

#!/usr/bin/env python

def deco(func):
print "before func called"
func()
print "after func called"
return func

def myfunc():
print "myfunc() called"

myfunc = deco(myfunc)

myfunc()
myfunc()


1.2 运行结果



二、使用语法糖@来装饰函数

2.1 代码

#!/usr/bin/env python

def deco(func):
print "before func called"
func()
print "after func called"
return func

@deco
def myfunc():
print "myfunc() called"

myfunc()
myfunc()


2.2 运行结果



三、使用内建函数来确保每次新函数都会被调用

3.1 代码

#!/usr/bin/env python

def deco(func):
def _deco():
print "before func called"
func()
print "after func called"
return _deco

@deco
def myfunc():
print "myfunc() called"

myfunc()
myfunc()


3.2 运行结果



参考资料:

        Python装饰器学习:http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: