关注
之前看到一个博主举的一个比喻非常好: 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个办法就是把内裤改造一下,让它变得更厚更长,这样一来,它不仅有遮羞功能,还能提供保暖,不过有个问题,这个内裤被我们改造成了长裤后,虽然还有遮羞功能,但本质上它不再是一条真正的内裤了。于是聪明的人们发明长裤,在不影响内裤的前提下,直接把长裤套在了内裤外面,这样内裤还是内裤,有了长裤后宝宝再也不冷了。装饰器就像我们这里说的长裤,在不影响内裤作用的前提下,给我们的身子提供了保暖的功效。 谈装饰器前,还要先要明白一件事,Python 中的函数和 Java、C++不太一样,Python 中的函数可以像普通变量一样当做参数传递给另外一个函数。 装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 综合好处就是: 复用代码 方便的添加新的功能 如果你接触 Python 有一段时间了的话,想必你对 @ 符号一定不陌生了,没错 @ 符号就是装饰器的语法糖,它放在函数开始定义的地方,这样就可以省略最后一步再次赋值的操作。当然 Python 还支持类装饰器,多装饰器,带参数的装饰器,具体的使用方式可以自行 Google。
查看原帖
点赞 评论
相关推荐
04-25 16:05
北京林业大学 电子信息类 点赞 评论 收藏
转发
牛客热帖
- 1... 想来字节技术实习,看我这篇就够了!——保姆级面经大放送1.9W
- 2... 外卖员面试经验1.7W
- 3... 25届第一份实习怎么找?1.4W
- 4... 0实习经验上岸字节,分享一下过程经验1.2W
- 5... 【0429快问快答】99%牛油的疑惑解答(更新至38个问题1.1W
- 6... 【奖】休息放松or学习提升,五一假期和牛牛一起“充充电”🔋1.1W
- 7... 准备去参加自己的婚礼9369
- 8... 美团后端日常实习一二面(已oc)8140
- 9... 【💰有奖征集】非技术岗位笔面经邀你来分享!攒人品时间到!5765
- 10... 阿里国际 笔试 04295329
正在热议
# 牛友的五一计划 #
18376次浏览 379人参与
# 晒一晒我的offer #
2829803次浏览 49966人参与
# 牛客帮帮团来啦!有问必答 #
400455次浏览 7831人参与
# 无实习如何秋招上岸 #
173304次浏览 2727人参与
# 如何看待offer收割机的行为 #
194595次浏览 2989人参与
# 如何一边实习一边秋招 #
201797次浏览 4008人参与
# 华为求职进展汇总 #
442668次浏览 4445人参与
# 春招别灰心,我们一人来一句鼓励 #
21520次浏览 312人参与
# 产品实习,你更倾向大公司or小公司 #
31272次浏览 491人参与
# 非技术岗薪资爆料 #
8943次浏览 187人参与
# 硬件人的春招flag #
14564次浏览 199人参与
# 女生做医疗销售有前景吗 #
3888次浏览 49人参与
# 字节跳动工作体验 #
53905次浏览 1577人参与
# 聊聊这家公司值得去吗 #
63666次浏览 1277人参与
# 第一次面试 #
17853次浏览 276人参与
# 在国企工作的人,躺平了吗? #
73011次浏览 882人参与
# 机械人,你的秋招第一份简历被谁挂了 #
27017次浏览 492人参与
# 来聊聊机械薪资天花板是哪家 #
22901次浏览 180人参与
# 你更愿意参加线上面试还是线下面试? #
6978次浏览 95人参与
# 如何KTV领导 #
7551次浏览 73人参与