正在回答
3回答
同学你好:带参数的装饰器可能有一点难,不如我换一个例子讲讲。
首先是一个不带参数的装饰器run_time,我们可以通过这个装饰器计算函数运行的时间。如下图:
如果我们想为一个有参数的函数装饰run_time装饰器,则会报错,因为和装饰器中写的func()中参数不匹配:
因此我们需要对装饰器函数进行修改,使它可以接收参数。我们选择使用*args,**kwargs,这样无论被装饰的函数有几个参数,是否是关键字类型,都可以正确接收:
(run time为0.0的原因是运行时间过短,运行时间长的函数可正常输出)
不知道这么讲同学有没有觉得好懂了呢,建议同学可以多上手练习一下代码加深理解
如果解决了你的疑惑,请采纳,祝学习愉快~
慕python_SD三德
2020-03-28 21:59:23
对了func( ), 为什么在def函数后加return???
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星