python函数中的装饰器

对于python中的函数,我在上一篇的博客中已经简单介绍过了,这次我要介绍的是在“python”中名为叫装饰器的东西,它的作用就是可以在原来代码的基础上增加功能

一般来说,给一个函数添加功能,就是在函数里面嵌套一个函数,然后添加代码实现功能

列如:我在下列函数中实现的功能:

import time
def a():
    time.sleep(1.5)
    print("你好,我是A函数")
    return "a的返回值"
    def b(o):
        def c():
            s=time.time()
            l=o()
            u=time.time()
            return l
        return c
li=a()
print(li)
View Code
 

我在a函数中嵌套了b函数,给它添加了b函数的功能,而b函数我又给他添加了c函数的功能,虽然这样也能够实现一个函数多个功能

但是这样很麻烦,也不实用,有时候程序员写代码是很多的,量一大,就显得很复杂,就很容易混乱,在这样的情况下,装饰器就很好的解决了这一情况

import time
def a():
    time.sleep(1.5)
    print("你好,我是A函数")
    return "a的返回值"
    def b(o):
        def q():
            s=time.time()
            l=o()
            u=time.time()
            print("时间为:%s" % (u-s))
            return l
        return q
li=a()
print(li)
View Code

 而用了装饰器,就不一样了,在一个你要执行的函数上面@你要调用的函数,就可以完美实现如图的功能,在这里只是举了一个小例子,但是也可以在其他的嵌套函数里面反复使用

函数的嵌套:https://www.cnblogs.com/xuedine/p/11552392.html在我的这篇博客有简单的说过

以上就是我对装饰器的了解

从前不会回头,往后不会将就
原文地址:https://www.cnblogs.com/xuedine/p/11608453.html