系统学习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.

相关推荐
starrysky81035 分钟前
zipfile 中文乱码修复:把已知 GBK 旧 ZIP 解压到正确中文目录
python
用户91294046848421 小时前
Codex 从零到能交付(09):让 Codex 写有用的测试,而不是只测成功路径
python
2601_967987371 小时前
Debian如何配置Python调试工具
python·debian·pdb·调试工具·ipdb
MoRay1 小时前
放弃云端 Computer Use,我用 Python 手搓了一个带“物理防呆”的本地 GUI Agent 底座
python·github
青少儿编程课堂2 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:Bellman-Ford与SPFA含负权最短路及负环检测全解析
c++·python·算法·bfs·信息学竞赛
小小张说故事2 小时前
Python 的 __init__ 到底是不是构造函数?拆开 __new__ 先造对象、那次被跳过的初始化和必须返回 None 的规矩
python
拖累斯3 小时前
Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」
python·jenkins·bug
特立独行的猫A3 小时前
13MB 单文件、一条命令变服务:把仓颉写的 cjh 内嵌进你的应用,当它的 AI 大脑
java·后端·python
deepseek233 小时前
Agent任务中途断线,怎么避免重复执行?SQLite检查点实测
python·sqlite·任务调度·幂等性·ai agent
2401_868534784 小时前
【网络安全
网络·python