Python装饰器

什么是装饰器

装饰器就是一个用于对另一个函数进行功能扩展的一个函数

常见笔试题

  1. 利用装饰器统计函数的运行时间
    def run_time(func):
        def inner(*args, **kwargs):
            start = time.time()
            func()
            print(f"运行时间:{time.time() - start}")
    
        return inner
    
    @run_time
    def func():
        for i in range(3):
            time.sleep(1)
    
    func()
  2. 利用装饰器判断用户是否登录

    def login(func):
        def inner(*args, **kwargs):
            if kwargs.get("username") and kwargs.get("password"):
                print("SUCCESS:用户登陆成功")
                func()
            else:
                print("ERROR:用户未登录")
    
        return inner
    
    
    @login
    def func2():
        print("用户中心")
    
    
    func2(username="pudding", password="******")

版权声明:本文为weixin_48167124原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。