qin_yin 发表于 2020-10-24 22:49:04

python扩展阅读

1.修饰符的来源

借用一个博客上的一段叙述:修饰符是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。

修饰符是解决这类问题的绝佳设计,有了修饰符,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,修饰符的作用就是为已经存在的对象添加额外的功能。

如下:
import time

def timeslong(func):
    start = time.clock()
    print("It's time starting ! ")
    func()
    print("It's time ending ! ")
    end = time.clock()
    return "It's used : %s ." % (end - start)


小甲鱼说:上面的程序中,定义了一个函数,对另外一个对象的运行时间进行计算,如果采用通常的方式需要将 func() 重新在 timeslong 中重新写一遍。概括的讲,修饰符的作用就是为已经存在的对象添加额外的功能。
问题:
        为什么要重新func(),外部A函里面是可以调用到外部B函数啊,不太理解小甲鱼说的需要将 func() 重新在 timeslong 中重新写一遍。

suchocolate 发表于 2020-10-25 11:18:23

本帖最后由 suchocolate 于 2020-10-25 11:20 编辑

https://www.runoob.com/w3cnote/python-func-decorators.html
https://fishc.com.cn/forum.php?mod=viewthread&tid=51109&highlight=%D7%B0%CA%CE%C6%F7
页: [1]
查看完整版本: python扩展阅读