装饰器

作者: Xfyyzy | 来源:发表于2019-05-17 16:28 被阅读0次

    什么是装饰器?

    装饰器是一个特殊的函数,可以理解为一种特殊的闭包。
    详见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("欢迎回来")
    

    相关文章

      网友评论

          本文标题:装饰器

          本文链接:https://www.haomeiwen.com/subject/cruoaqtx.html