全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1996 0
2016-11-06
转自 http://www.cnblogs.com/feixuelove1009/p/5541632.html
初学Python的我对装饰器的用法有些困惑,经网友指点看到这篇思路清晰的好文,推荐给大家![victory][handshake]


Python装饰器由浅入深

装饰器的功能在很多语言中都有,名字也不尽相同,其实它体现的是一种设计模式,强调的是开放封闭原则,更多的用于后期功能升级而不是编写新的代码。装饰器不光能装饰函数,也能装饰其他的对象,比如类,但通常,我们以装饰函数为例子介绍其用法。要理解在Python中装饰器的原理,需要一步一步来。本文尽量描述得浅显易懂,从最基础的内容讲起。

  (注:以下使用Python3.5.1环境)

一、Python的函数相关基础

  第一,必须强调的是python是从上往下顺序执行的,而且碰到函数的定义代码块是不会立即执行它的,只有等到该函数被调用时,才会执行其内部的代码块。

由于发帖字数受限,剩余内容请大家自行去博主网页阅读。



////////////////////////////////////////////////////////////////////////////////////////////////////////////////

如果你看到这,对两个及两个以上的装饰器执行的顺序有疑问的话,可以参考这篇博文的这句话


那么,封装两层可以像这样理解:

@makebold@makeitalichello()hello-copy = makebold(makeitalic(helo))

因此,这样理解以后,对于多个装饰器的调用顺序,就不再有疑问了。

转自 http://mingxinglai.com/cn/2015/08/python-decorator/

python装饰器入门与提高
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
对你是否有帮助呢?



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群