装饰器

2019-05-17  本文已影响0人  Xfyyzy

什么是装饰器?

装饰器是一个特殊的函数,可以理解为一种特殊的闭包。
详见https://blog.csdn.net/ljt735029684/article/details/80703649

如何理解?

闭包:函数内嵌套函数
将目标函数当作参数传入闭包中,在不修改目标函数的情况下,可以在闭包中进行函数功能的增加。

有什么用?

比如你做了一个功能,每个部门都可以用,但是后来某个部门和你吵架了,你不想让他用,就在原函数的基础上加一个装饰器,增加权限验证的功能,没有密码无法使用。代码如下:

# -*- coding: utf-8 -*-
def get_fuc(fuc):
    def fuc_1():
        x = input("请输入密码:")#此处添加权限验证
        if x == "123456":
            fuc()#密码正确才能调用该函数
        else:
            print("密码错误")#f否则提示密码错误
    return fuc_1()


@get_fuc#==test = get_fuc(test)#这是一个语法糖
def test():
    print("欢迎回来")
上一篇下一篇

猜你喜欢

热点阅读