系统学习Python——装饰器:基础知识-[装饰器管理函数和类]

分类目录:《系统学习Python》总目录


尽管本章装饰器的作用主要集中在对函数和类的随后调用进行包装,但我们要牢记装饰器机制比这更加通用,这点很重要一一一它是在函数和类创建之后立即通过任意可调用对象传递它们的一种协议。因此,它可以用来调用任意的创建后处理程序:

clike 复制代码
def decorator(O):
	# 保存或增强函数或类O
	return O

@decorator
def F():
	pass	# F= decorator(F)
	
@decorator
class C():
	pass	# C= decorator(C)

只要以这种方式返回最初被装饰的对象,而不是返回一个代理,我们就可以管理函数和类自身,而不只是管理随后对它们的调用。在后续的文章中,我们将看到运用这一思想的更为实际的例子,它们用装饰把可调用对象注册到一个API,并且在创建函数的时候为它们赋值属性。

参考文献:

1\] Mark Lutz. Python学习手册\[M\]. 机械工业出版社, 2018.

相关推荐
chao_7894 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找
烛阴4 小时前
Python装饰器解除:如何让被装饰的函数重获自由?
前端·python
noravinsc4 小时前
django 一个表中包括id和parentid,如何通过parentid找到全部父爷id
python·django·sqlite
ajassi20004 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
沉默媛5 小时前
如何安装python以及jupyter notebook
开发语言·python·jupyter
Deng9452013146 小时前
基于Python的旅游数据可视化应用
python·numpy·pandas·旅游·数据可视化技术
2401_878624796 小时前
pytorch 自动微分
人工智能·pytorch·python·机器学习
胖达不服输6 小时前
「日拱一码」021 机器学习——特征工程
人工智能·python·机器学习·特征工程
screenCui7 小时前
macOS运行python程序遇libiomp5.dylib库冲突错误解决方案
开发语言·python·macos
小眼睛羊羊7 小时前
pyinstaller打包paddleocr
python