Python中的装饰器本质上是一个高阶函数,它接收一个函数,并且对这个函数进行包装,从而改变原函数的默认行为。
# 来自jb51.cc
@deco1(deco_arg)
@deco2
def func(): pass
相当于
# 来自jb51.cc
func = deco1(deco_arg)(deco2(func))
Demo如下:
# 来自jb51.cc
# -*-coding:utf-8 -*-
def decorator(str):
print str
def retfn(fn):
def retfn(*arg):
print '已装饰' # 装饰
return fn(*arg) # 调用原始函数
return retfn
return retfn
@decorator(实例化装饰器)
def test(str0,str1):
print str0,str1
test('Hello','world');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。