前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >理解Python装饰器(一)

理解Python装饰器(一)

作者头像
py3study
发布2020-01-14 15:14:36
2870
发布2020-01-14 15:14:36
举报
文章被收录于专栏:python3
python装饰器

装饰器是什么?我也不知道该如何给装饰器下定义。

代码语言:javascript
复制
1. 装饰器是函数,因为从代码的层面上来说,它就是开发人员定义的一个函数而已;
2. 装饰器就像是类的继承一样,通过装饰符,来实现函数与函数、函数与类之间的"继承"
3. 装饰器是种特殊的语法,通过 `@函数名` 或者 `@类名` 来实现函数或类的继承,但是
    装饰器不是继承,装饰器装饰的函数会被当做参数传递给装饰器,这个功能又好像
    C++中的虚函数,装饰器装饰的函数用来修改装饰器本身的功能来实现额外功能的添加。
示例:人与超人

前提:人 - 会走、会说话、会哭、会笑、会吃饭;超人 - 会走、会说、会哭、会笑、会吃饭、会飞

代码语言:javascript
复制
class man(object):
    def __init__(self, f):
        self.f = f
    def __call__(self):
        print("我会走路")
        print("我会说话")
        print("我会哭")
        print("我会笑")
        print("我会吃饭")
        self.f()

@man
def Super_man():
    print("我是超人,我会飞")

Super_man()

运行结果:

理解Python装饰器(一)
理解Python装饰器(一)
个人看法

装饰器可以用来解决上述例子中的一类问题:功能不清楚且会增加。只要定义好装饰器, 可以很好的实现代码的复用提高代码的可读性。所以,想要对装饰器有更加深入的理解, 一定要多思考,把编程中遇到的可以用装饰器解决的问题给解决掉;另一点就是要多看 别人的代码,在别人的代码中找到一些不一样的用法,然后思考为什么那么用,如果合 理就借鉴别人的思路和方法。

Python装饰器的用语、细节

这部分内容在网上可以直接搜到,不进行记录,参考文章中提到的文章均有此模块的介绍

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python装饰器
  • 示例:人与超人
  • 个人看法
  • Python装饰器的用语、细节
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档