- 修饰器/装饰器:学习链接:Python之修饰器 - 知乎。
- 下面是我自己的学习笔记:装饰器就是Decorator,假设有这样的场景,对于以前那些不够完善的函数,我们想对这些函数进行改造、增加一些功能,在没有装饰器的情况下,我们要对这些函数一个一个进行修改,修改完成以后再在主程序中每一个用到这些函数的地方,都将函数进行升级。如图一所示。如果这些函数的数量很多且在主程序中被调用了很多次,那么改造函数和升级函数的工作量就很大,还有可能出现错漏。如果有了装饰器,那么我们就可以写出装饰器的代码,然后在每一个函数声明前写上@装饰器函数名,函数加上了装饰器以后,在主程序中这些函数就会自动升级,不需要修改就可以自动升级,减少了工作量且也不会出现升级错漏的情况。
- 图一:代码转载于:Python之修饰器 - 知乎
def hi(): """hi func,假装是很复杂的函数""" return 'hi' def aop(func): """aop func""" print('before func') print(func()) print('after func') if __name__ == '__main__': aop(hi) - 图二:代码转载于:Python之修饰器 - 知乎
def aop(func): """aop func""" def wrapper(): """wrapper func""" print('before func') func() print('after func') return wrapper @aop def hi(): """hi func""" print('hi') @aop def hello(): """hello func""" print('hello') if __name__ == '__main__': hi() hello() -
这个就是主程序的入口,对大程序很重要!先记住
if __name__ == '__main__': - Python的函数,可以传函数名字当函数的参数,用专业术语就是:Python的函数可以传函数引用当参数。函数引用就是指函数名字。
Python:decorator学习
最新推荐文章于 2025-12-05 17:02:52 发布
本文围绕Python装饰器展开,指出在无装饰器时,改造和升级大量函数工作量大且易出错。而使用装饰器,只需在函数声明前添加@装饰器函数名,函数就能自动升级,减少工作量并避免错漏。还提到Python函数可传函数引用当参数。
810

被折叠的 条评论
为什么被折叠?



