码迷,mamicode.com
首页 > 编程语言 > 详细

python装饰器初解

时间:2017-10-10 01:25:49      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:好处   任务   部分   java   常用   没有   print   流程   功能   

       接触python也有大半年的时间了,也进行了不少python相关的开发工作,但是对python的理解仍然是不够深入的,目前的知识点还仅仅局限在常用的基础知识上,对于比较深入的内容都没有认真研究学习过,最近有个任务需要在原本的开发流程中加入日志功能,掌握装饰器技术对完成这次任务是很有帮助的。

       因为在接触python之前主要是在学习前端的知识的,对于javascript的知识了解的比较多,经过之前对装饰器知识的查找学习后,知道python中的装饰器跟javascript中的闭包有异曲同工之妙,都是在一个函数里面包含另一个函数,但是这两部分的使用上还是有很大的区别的。

       装饰器的基本语法格式为:

def deco():
    def wrapper():
        print ‘aa‘
    return wrapper

@deco
def myfunc():
    print ‘bb‘

myfunc()
        

        在上述代码中,对于装饰器的使用直接使用了它的语法糖形式@,这样写的好处是显而易见的,在后面调用的时候不用再重复写函数名称,而只是用@代替。在python中的一个公共认知是一切皆对象,因此函数也是对象。这里的@符号可以理解为myfunc=deco(myfunc);myfunc()的简写。

       使用装饰器的好处是可以在被装饰函数已经写完的情况下直接使用@符号进行修饰,可以达到不用改变原有代码的前提下增加新的功能。

python装饰器初解

标签:好处   任务   部分   java   常用   没有   print   流程   功能   

原文地址:http://www.cnblogs.com/fight-xiao/p/7643542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!