Python装饰器实战:返回值处理、重复执行与日志记录

咖啡半糖
咖啡半糖
发布时间:2026-10-16| 3人浏览过
原创

本文提供三个Python装饰器练习题及完整代码实现。第一题演示如何修改函数返回值(加100);第二题展示如何通过装饰器使函数重复执行5次;第三题讲解如何记录函数名及调用时间到文件。包含完整可运行的Python代码示例,适合初学者巩固装饰器概念。

题目一:编写一个装饰器,在调用被装饰函数后,将函数的返回值加上100,并返回该新值。


def wapper(func):

    def innner(*args,**kwargs):

        ret=func(*args,**kwargs)

        ret=print(ret+100)

        return ret

    return innner

@wapper

def func(number):

    return int(number)

func(100)

###结果:200

题目二:编写一个装饰器,通过单次函数调用,使得被装饰的原始函数内部逻辑重复执行5次。


#Python学习交流群:725638078

def wapper(func):

    def innner(*args,**kwargs):

        count=0

        while count<5:

            func(*args,**kwargs)

            count+=1

    return innner

@wapper

def func():

    print("执行")

func()

题目三:编写一个装饰器,在每次调用被装饰函数时,自动将函数名称以及当前的系统时间写入到指定的日志文件中。


import time

def wapper(func):

    def inner(*args,**kwargs):

        with open("log",encoding="utf-8",mode="a+") as f:

            structime=time.localtime()

            f.write(f'北京时间:{time.strftime("%Y-%m-%d %H:%M:%S",structime)} 函数名字为:{func.__name__}\n')

        ret=func(*args,**kwargs)

        return ret

    return inner

@wapper

def func():

    print("执行")

func()

以上就是关于Python装饰器练习题的详细介绍,更多相关装饰器习题内容可搜索本站历史文章或继续浏览后续相关文章,希望大家以后多多支持本站!

最后推荐一个非常优质的Python学习教程,希望对你的Python学习有所帮助!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。