Python装饰器实战:返回值处理、重复执行与日志记录
本文提供三个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学习有所帮助!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













