zoukankan      html  css  js  c++  java
  • Python学习笔记6:装饰器

    装饰器

    装饰器就是以闭包的形式在不修改源代码的情况下添加新的功能,写装饰器的大题思路为先将实现的功能以及被装饰的程序封装成wrapper函数,然后用闭包的方法为封装成的函数添加func外部作用于实现此装饰器可以给不同的函数调用

    一下为模拟网页运行,并为网页添加用户登录以及计算加载时间装饰器

    import time
    import random
    
    # 计时功能装饰器
    def timmer(func):
        # func = index
    
        def wrapper():
            start_time = time.time()
            func()
            stop_time = time.time()
            print(stop_time - start_time)
        return wrapper
    
    
    # 用户登入功能装饰器
    def auth(func):
        # func() = index()
        def deco():
            username = input('name:').strip()
            password = input('password:').strip()
            if username == 'rdw' and password == '123':
                func()
        return deco
    
    
    @auth # 使用@为程序index()添加装饰器
    @timmer  # index = timmer(index)
    def index():
        time.sleep(random.randrange(1, 5))
        print('welecome to index page')
    
    index()
  • 相关阅读:
    Gin+Gorm小项目
    python实现监控信息收集
    Vue引入Stylus
    Go搭建一个Web服务器
    saltstack高效运维
    04-01 Django之模板层
    03-01 Django之视图层
    02-01 Django之路由层
    HTTP协议
    01-01 Web应用
  • 原文地址:https://www.cnblogs.com/rendawei/p/7051134.html
Copyright © 2011-2022 走看看