1,装饰器(decorator)
python里一个被包裹或被装饰的函数(对象)通常会被重新赋值给原来的名字,这样被裹的函数能和普通的版本保持兼容。
实例:
在这个例中,deco就是一个"装饰"了foo函数的装饰函数。它先将deco函数拿过来,加上一些额外的功能重新赋值给foo。
@deco和下面的代码等价
foo=deco(foo)
下面的实例描述了函数调用
代码的执行效果如下:
python里一个被包裹或被装饰的函数(对象)通常会被重新赋值给原来的名字,这样被裹的函数能和普通的版本保持兼容。
实例:
@deco
def foo():
pass在这个例中,deco就是一个"装饰"了foo函数的装饰函数。它先将deco函数拿过来,加上一些额外的功能重新赋值给foo。
@deco和下面的代码等价
foo=deco(foo)
下面的实例描述了函数调用
def log(func):
def wrappedFunc():
print "*** %s() called"% func.__name__
return func()
@log
def foo():
print "Inside foo()"代码的执行效果如下:
>>>foo ()
*** foo() called
inside foo()
本文介绍了Python中的装饰器概念及其使用方法。通过一个具体示例展示了如何利用装饰器为函数增加额外的功能,同时保持原有函数的调用方式不变。示例中定义了一个名为log的装饰器,用于记录被装饰函数的调用情况。
832

被折叠的 条评论
为什么被折叠?



