zoukankan      html  css  js  c++  java
  • python基础十之装饰器

      1,装饰器的形成

        编程原则:开放封闭原则。

        开放:对扩展是开放的

        封闭:对修改是封闭的

      因为修改是封闭的,所以为了对函数进行功能的扩展,就使用装饰器!

      2,装饰器的定义

    # wrapper就是一个装饰器函数,就是对一个函数有一些装饰效果
    def wrapper(f):   # 装饰器函数,f是被装饰的函数
        def inner(*args, **kwargs):
            # 在被装饰函数之前想增加的功能
            ret = f(*args, **kwargs)     # 被装饰的函数
            # 在被装饰函数之后想增加的功能
            return ret   # 接收被装饰函数的返回值
        return inner
    # 装饰器的作用:不修改函数的调用方式,且能在函数的前后添加功能

      3,装饰器的使用

    @wrapper    # 语法糖 @装饰器函数名 相当于func = time_count(func)
    def func():    # 被装饰的函数
        time.sleep(1)
        print('zxc')
        return 'hahaha'
    ret = func()  # zxc
    print(ret)    # hahaha

      4,装饰器实例

    import time
    # 计算函数运行时间
    def wrapper(f):   # 装饰器函数,f是被装饰的函数
        def inner(*args, **kwargs):
            start = time.time()
            ret = f(*args, **kwargs)     # 被装饰的函数
            end = time.time()
            print(end-start)
            return ret   # 接收被装饰函数的返回值
        return inner
    
    @wrapper
    def func():    # 被装饰的函数
        print('zxc')
    func()  # 打印zxc 打印函数hunc的运行时间
  • 相关阅读:
    关于DOM事件操作
    js 去掉字符串前后空格
    oracle创建表索引
    导入Excel -- 套路及代码分析
    漫谈五种IO模型(主讲IO多路复用)
    Reactor模式
    jvm
    Python入门学习资料推荐
    ConcurrentHashMap & Hashtable
    分布式系统的接口幂等性设计
  • 原文地址:https://www.cnblogs.com/zxc-Weblog/p/8135061.html
Copyright © 2011-2022 走看看