首页 > 代码库 > 修饰器浅解
修饰器浅解
修饰器是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果。相对于其它方式,装饰器语法简单,代码可读性高。因此,装饰器在Python项目中有广泛的应用。
修饰器其实就是把需要执行的函数传递到修饰器中,然后修饰器执行相应的处理后,运行该函数切返回结果
#!/usr/bin/python #--*encoding=utf8--* import os def hehe(w=‘‘): #这个只是为了能给修饰器传入参数,可不要 def xiushiqi(fun): #这个是修饰器的顶部,传入的fun其实就是函数ljq def test(*args): #第二层,*args代表ljq的变量x,y,z os.chdir(‘/var/tmp‘) print w,os.getcwd(),fun(*args) #fun(*args)其实就是在运行ljq(2,9,29)这个 return test #返回结果 return xiushiqi @hehe(‘hello‘) #在函数定义前使用修饰器,这里还加入了参数 def ljq(x,y,z): return x*y+z ljq(2,9,29) [root@test-A opt]# python c.py hello /var/tmp 47 [root@test-A opt]#
#########################运行过程:
ljq(2,9,29)调用了函数ljq,因为函数ljq有修饰器hehe,所以便让修饰器处理这个ljq(2,9,29)函数。
修饰器接收到这个函数后,把hello赋值给变量w,ljq()这个函数赋值给fun,函数的参数2,9,29赋值给*args。然后修饰器执行相应动作并返回结果。
更多详细内容请参考:
http://www.cnblogs.com/vamei/archive/2013/02/16/2820212.html
本文出自 “choice me” 博客,请务必保留此出处http://kekeung.blog.51cto.com/2339469/1582976
修饰器浅解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。