美文网首页
Python笔记四 装饰器

Python笔记四 装饰器

作者: 红白乌鸦 | 来源:发表于2019-05-22 17:44 被阅读0次

装饰器 = 高阶函数+函数嵌套+闭包

高阶函数 = 参数 or 返回值为函数

函数嵌套 = 在函数中定义函数

闭包 = 封装变量or函数的

装饰器:

@装饰器名 等于:函数名 = 装饰器(函数名)

原函数

'''装饰器基本结构'''

def umm(func):

    def ujj():

        sta_time = time.time()

        ret=func()

        spo_time = time.time()

        print('运行时间:%s' % (spo_time - sta_time))

        return ret

    return ujj

@umm    #ugg=umm(ugg)  装饰器表达形式

def ugg():

    print('油鸡鸡')

    return '油鸡鸡的返回'

print(ugg())

装饰器以参数形式带入需装饰函数,返回值为下一层嵌套函数。

嵌套第一层带入被装饰函数参数,以(*args, **kwargs)接收。返回值为被装饰函数。

'''装饰器的进阶结构_登陆功能'''

user_dic = {'name': None, 'login': False}  #登陆状态

def auth_login(func):

    def wrapper(*args, **kwargs):  #基本嵌套结构

        if user_dic['name'] and user_dic['login']:  #判断登陆状态是否为true

            res = func(*args, **kwargs) #true直接执行被修饰函数

            return res

        user_n = input('输入用户名:')    #登陆框

        pass_w = input('请输入密码:')    #登陆框

        if user_n == 'd' and pass_w =='2':  #代指用户名数据库匹配

            user_dic['name'] = user_n  #修改登陆状态

            user_dic['login'] = True    #修改登陆状态

            res = func(*args, **kwargs) #执行被修饰函数

            return res

        else:

            print('its error')

    return wrapper

@auth_login

def index(name):

    print('这是%s的简历' % name)

@auth_login

def object(name):

    print('这是%s的项目' % name)

index('狗剩')

object('狗剩')

在需要导入某些数据时,比如input,往往需要加上.strip()方法。以去除\n、\r和首尾的空格换行符。

相关文章

  • Python笔记四 装饰器

    装饰器 = 高阶函数+函数嵌套+闭包 高阶函数 = 参数 or 返回值为函数 函数嵌套 = 在函数中定义函数 闭包...

  • Python ☞ day 5

    Python学习笔记之 装饰器& 偏函数 & 异常处理 & 断言 & 文件读写 &编码与解码 装饰器 概念:是一个...

  • 大师兄的Python学习笔记(十四): 迭代器、生成器和协程

    大师兄的Python学习笔记(十三): 理解装饰器大师兄的Python学习笔记(十五): Socket编程 一、关...

  • 装饰器模式

    介绍 在python装饰器学习 这篇文章中,介绍了python 中的装饰器,python内置了对装饰器的支持。面向...

  • Python—闭包与装饰器

    将之前学习Python的笔记整理记录下来。 闭包 装饰器

  • python中的装饰器

    python装饰器详解 Python装饰器学习(九步入门) 装饰器(decorator) 就是一个包装机(wrap...

  • [译] Python装饰器Part II:装饰器参数

    这是Python装饰器讲解的第二部分,上一篇:Python装饰器Part I:装饰器简介 回顾:不带参数的装饰器 ...

  • Python 装饰器笔记

    装饰器的主要作用:代码复用、装饰函数! 简单装饰器 现在有三个函数 每个函数都有自己的功能! 这时我想让这些函数在...

  • Python装饰器笔记

    一.函数装饰器 1.从Python内层函数说起 首先我们来探讨一下这篇文章所讲的内容Inner Functions...

  • python笔记:装饰器

    闭包 在学习装饰器前,我先遇上了这样的写法 上面这一小段代码,fun函数有以下特点 fun函数内嵌套定义了个函数i...

网友评论

      本文标题:Python笔记四 装饰器

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