python学习打卡day27

DAY 27 函数专题2:装饰器

知识点回顾:

  1. 装饰器的思想:进一步复用
  2. 函数的装饰器写法
  3. 注意内部函数的返回值

作业:

编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)

@logger
def multiply(a, b):
    return a * b

multiply(2, 3)  
# 输出:
# 开始执行函数 multiply,参数: (2, 3), {}
# 函数 multiply 执行完毕,返回值: 6
import time
def logger(func):
    def wrapper(*args, **kwargs):  # args 是元组,kwargs 是字典
        print(f"函数 {func.__name__},参数: {args}, {kwargs}")
        t1=time.time()
        result = func(*args, **kwargs)
        t2=time.time()
        print(f"函数执行时间: {t2 - t1} 秒")
        print(f"最后结果: {result}")
        return result
    return wrapper

@logger
def multiply(a, b):
    return a * b 
multiply(2, 3)

@浙大疏锦行 

你可能感兴趣的:(python学习打卡,python,学习,开发语言)