【专题】彻底学会Python装饰器

作者: 武沛齐讲技术分类: 计算机技术 发布时间: 2021-01-03 10:37:12 浏览:33284 次

【专题】彻底学会Python装饰器

十号风球丨b:
这才是讲的最清晰、最仔细的up主,其他那些什么玩意儿

【回复】除了多层嵌套没讲,已经算是完美了。还新学一个@functools.wrap
深度潜water:
我是初学者,看了好几个视频结合起来才懂,这个老师讲得很好。 1、首先你必须深刻理解函数本身的构造,比如函数名func和函数名加括号func()的区别。这个需要自己去试试就好。 2、其次理解装饰器的写法是嵌套函数,外层只是包裹并返回内层,内层才是真正的内容。 3、再次要理解用@语法糖代表了什么,其实视频里讲的很清楚就等于把原函数作为参数放在装饰器函数里运行了一遍,将输出结果又赋值给原函数,继而把原函数改变了。简单理解就像是a=f(a)一样。 4、最后理解调用装饰器的过程就等于调用了装饰器函数,准确的说是调用了装饰器函数的内层,因为装饰器函数返回了内层函数的名称,因此调用()的过程就是执行了一遍这个内层。

依然的风暴君:
算是目前看到的最好的关于装饰器的讲解,[热词系列_三连]

Just丶found:
有没有那种情况,一个函数上面用了@outer,但是我有时候不想放到装饰器里面去执行可以吗

大郎的炊饼:
return value的返回值(11,22,33,44)哪里去了

【回复】回复 @--清风拂杨柳-- :return的value不会直接打印的 你需要用变量去接这个返回值,然后再去打印这个变量才行
【回复】回复 @hello小芒果 :return之后,返回值应该直接打印出来啊。求解[笑哭][笑哭][笑哭]
【回复】返回值接收了,但是没有打印出来
seniorhui:
全网最清晰明了的入门python装饰器讲解,不过好像没有讲带参数的装饰器和叠加多个装饰器!

【回复】是的,这是刚学到函数时,给大家讲的装饰器基础。 后面到flask、项目、源码 部分用到了 带参数和类装饰器,会再补充。
【回复】回复 @凸头统治地球 :晓得罗,多谢wusir
CCCCCCCCCCCru:
看了几个up的视频,这些在课堂学不到的语言细节在up这讲解的都非常透彻,而且感觉up的思路也很清晰,希望up多发点好让我白嫖[doge][doge]

颃宝:
我把装饰器的笔记整理了一下,放在个人博客里了,要是对大家有帮助可以自取:https://jingzhisheng.cn/brainiaccc/blog?id=1645683823956070400

faofao:
使用装饰器的初衷就是把已有函数作为参数,动态的增加或者改变一些功能。因为有很多内部函数或是第三方包的函数,不是你想改就能改的。这时候用装饰器(闭包)是最方便的。

丨蓝天丶丶:
我先听的其他视频的装饰器的讲解,发现听不懂,然后搜啊搜,看啊看,看到你这个,发现你讲的太好了,我硬是没倍数播放,给你投币

好名字你们都用啦:
老师你好,为什么我使用装饰器之后,调用方法只能func1 ,用func1()就会报错呢(TypeError: 'tuple' object is not callable),而且也不能添加参数,我的版本是3.7好像

【回复】我发现问题了,我装饰器return inner()了,应该不要这个括号的
【回复】元组是定死的,不能修改
【回复】回复 @好名字你们都用啦 : 哈哈我也是这样,研究了半天,看到你这我笑了
和风倚:
b站所有讲装饰器的,这个是讲的最清晰简单的,其他的看着就乱

差不多勋:
outer函数里面的参数名可以自定义吗,还是一定要写func或者origin ,这个没说明

知识分享官 老男孩python 武沛齐 python 装饰器 python装饰器 打卡挑战

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!