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

相关推荐
B2_Proxy6 分钟前
Python 爬虫代理中间件开发:统一处理 403、429 与自动重试机制
python
学代码的CJY8 分钟前
Python序列类型详解
python
529宝宝起名网11 分钟前
用 Python 爬取古籍文献中的名字用例数据库:从二十四史到诗词文集的历史名字采集与分析
python
颜颜yan_8 小时前
ESP-IDF 鸿蒙 PC 适配全记录:打通 Python、构建工具链与 ESP32-P4 固件生成
python·华为·harmonyos
言乐68 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
weixin_440730508 小时前
线程02-并发串行-互斥锁-Semaphore-Event
python·thread
张小凡vip9 小时前
python--爬虫--经验积累的遇到的坑
开发语言·爬虫·python
毕业设计7039 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
xifangge20259 小时前
AGENTS.md 怎么写?涵盖 Java、Python、Vue、Go 的 8 套开箱即用模板
java·vue.js·python
大草原的小灰灰10 小时前
Python基础语法
开发语言·python