PYTHON训练营DAY27

装饰器

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

python 复制代码
@logger
def multiply(a, b):
    return a * b
 
multiply(2, 3)  
# 输出:
# 开始执行函数 multiply,参数: (2, 3), {}
# 函数 multiply 执行完毕,返回值: 6
 
def logger(func):
    def wrapper(*args, **kwargs):  # args 是元组,kwargs 是字典
        print(f"开始执行函数 {func.__name__},参数: {args}, {kwargs}")
        result = func(*args, **kwargs)
        print(f"函数 {func.__name__} 执行完毕,返回值: {result}")
        return result
    return wrapper
@logger
def multiply(a, b):
    return a * b 
multiply(2, 3)  # 调用 multiply 函数,观察日志输出

@浙大疏锦行

相关推荐
hmbbcsm3 分钟前
练习python题目小记(六)
开发语言·python
wow_DG12 分钟前
【Python✨】VS Code 秒开 Python 类型检查:一招 mypy + settings.json 让你的 Bug 原地现形!
python·json·bug
4***V20221 分钟前
Vue3响应式原理详解
开发语言·javascript·ecmascript
q***985223 分钟前
VS Code 中如何运行Java SpringBoot的项目
java·开发语言·spring boot
Aspect of twilight29 分钟前
LeetCode华为大模型岗刷题
python·leetcode·华为·力扣·算法题
共享家952735 分钟前
QT-界面优化(中)
开发语言·qt
李日灐41 分钟前
手搓简单 string 库:了解C++ 字符串底层
开发语言·c++
空影星1 小时前
高效追踪电脑使用时间,Tockler助你优化时间管理
python·django·flask
say_fall1 小时前
C语言编程实战:每日一题 - day7
c语言·开发语言
LiLiYuan.1 小时前
【Lombok库常用注解】
java·开发语言·python