如何理解python装饰器_理解Python装饰器(一)

python装饰器

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

1. 装饰器是函数,因为从代码的层面上来说,它就是开发人员定义的一个函数而已;

2. 装饰器就像是类的继承一样,通过装饰符,来实现函数与函数、函数与类之间的"继承"

3. 装饰器是种特殊的语法,通过 `@函数名` 或者 `@类名` 来实现函数或类的继承,但是

装饰器不是继承,装饰器装饰的函数会被当做参数传递给装饰器,这个功能又好像

C++中的虚函数,装饰器装饰的函数用来修改装饰器本身的功能来实现额外功能的添加。

示例:人与超人

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

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装饰器的用语、细节

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

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值