深刻理解python的装饰器

Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年末发明,第一个公开发行版发行于1991年,Python 源代码一样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具备丰富和强大的类库。它常被昵称为胶水语言,可以把用其余语言制做的各类模块(尤为是C/C++)很轻松地联结在一块儿。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),而后对其中有特别要求的部分,用更合适的语言改写,好比3D游戏中的图形渲染模块,性能要求特别高,就能够用C/C++重写,然后封装为Python能够调用的扩展类库。须要注意的是在您使用扩展类库时可能须要考虑平台问题,某些可能不提供跨平台的实现。html

那么咱们要如何来理解python的装饰器呢?python

先看个简单的小例子:web

1编程

2app

3函数

4性能

5ui

6spa

7设计

8

9

10

11

12

13

14

def printB(fn):

    def wrapped():

        return "printB" +fn()+"printb"

    return wrapped

def printLi(fn):

    def wrapped():

        return "printLi" +fn()+"printli"

    return wrapped

@printB

@printLi

def hello():

    return "hello world"

print hello()

#printB  printLi  hello world  printli  printb

这是是个简单的装饰器实现,要理解装饰器首先要理解python中对象的概念,这里函数就能够看做是对象,进行赋值等各类操做,你能够在函数中再去定义函数,把函数当作参数来传递。
在装饰器的高级用法中还能够在装饰器函数里面传入参数,甚至是缺省参数,更全面的装饰装饰器,这种装饰器的概念相似于AOP编程思想,你理解了多少?

若是想深刻体验LINUX系统的新手,也能够先下载一个方德Linux软件中心试用一下。免费下载地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter

相关文章
相关标签/搜索