码迷,mamicode.com
首页 > 编程语言 > 详细

python_装饰器

时间:2019-09-13 17:54:55      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:返回   函数名   返回值   span   基础上   bsp   int   赋值   自动   

def func(arg):
    def inner():
        print(before)
        v = arg()
        print(after)
        return v
    return inner
# 第一步:执行func函数并将下面的函数参数传递,相当于:func(index)
# 第二步:将func的返回值重新赋值给下面的函数名。index = func(index)
@func
def index():
    print(123)
    return 666

print(index())

目的:在不改变原函数的基础上,再函数执行前后自定义功能。

编写装饰器:

# 装饰器的编写
def x(func):
    def y():
        ret =func()
        return ret
    return y
# 装饰器的应用
@x
def index():
    pass
# 装饰器的应用
@x
def manage():
    pass

# 执行函数,自动触发装饰器
v = index()
print(v)

 

python_装饰器

标签:返回   函数名   返回值   span   基础上   bsp   int   赋值   自动   

原文地址:https://www.cnblogs.com/wangdianchao/p/11512700.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!