【自学python】 学到装饰器,为了更好地理解,自己画了一个图,不知道理解的对不对,希望大家指正一下。

查看:99
本文介绍了【自学python】 学到装饰器,为了更好地理解,自己画了一个图,不知道理解的对不对,希望大家指正一下。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

有一个原始函数A,现在想要加上额外的功能,但是又不想破外本身代码。

这个函数B是自带其他功能的。
然后把函数A,当作一个函数B的参数,直接扔进去,结果就变成了:

然后最终把这个加上壳的函数A,重新再赋值给函数A
如图:

于是最终,最初的原始函数A,就变成了一个加了外壳新功能的函数A
这个就是装饰器。
打个不恰当的比喻,有点类似于电影《黑客帝国》里面人类的最后堡垒里面的外骨骼装甲机器人,都是一个普通的人类,然后坐上在了战斗机器里面,相当于给一个普通的人类穿上了一个战斗外套,这样既保留了人的特性,又给它加上了新功能,如图:

不知道我的理解对不对?

解决方案

大概思路是没有问题的,但是其中有一幅图我觉得画的不太对:在函数 B 里面,因该有一个新函数 A,在新函数 A 里面增加了功能1、功能2,并执行了原始函数 A。最后返回的应该是新函数 A,把原始函数 A 覆盖掉

这篇关于【自学python】 学到装饰器,为了更好地理解,自己画了一个图,不知道理解的对不对,希望大家指正一下。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆