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的运行时间
  • 相关阅读:
    正则判断密码强弱
    QQ号码正则判断
    简单正则验证
    计算星期几
    实现这一天是这一年中的第几天
    倒计时
    选项卡放大镜(淘宝购物效果)
    遮罩层放大镜
    普通放大镜
    分布式事务解决方案(一) 2阶段提交 & 3阶段提交 & TCC
  • 原文地址:https://www.cnblogs.com/zxc-Weblog/p/8135061.html
Copyright © 2011-2022 走看看