撤销装饰器:Python访问原始函数进行百度人脸评分
需积分: 16 201 浏览量
更新于2024-08-07
收藏 2.26MB PDF 举报
本篇文档主要介绍了解除Python 3.0装饰器的方法。装饰器在Python中是一种高级编程技术,它可以修改或增强函数的功能。当你想在已经应用了装饰器的函数上恢复原始未包装的行为时,可以利用`__wrapped__`属性来访问。
在Python中,装饰器通常使用`@wraps`(参考第9.2节)进行定义,它能确保装饰器保留被装饰函数的元信息,如函数名、文档字符串等。当我们需要访问未被装饰的函数时,可以通过以下步骤:
1. **访问__wrapped__属性**:
当装饰器应用到一个函数上时,该函数会有一个名为`__wrapped__`的特殊属性,它指向原始函数。例如,如果有一个名为`somedecorator`的装饰器,我们可以这样获取原始函数:
```python
>>> @somedecorator
>>> def add(x, y):
... return x + y
...
>>> orig_add = add.__wrapped__
```
2. **使用原始函数**:
获取到`__wrapped__`属性后,就可以直接调用它来执行原始功能,而无需装饰器的影响:
```python
>>> orig_add(3, 4)
```
文章中提到的“9.2小节”可能是指关于`wraps`装饰器的更深入讨论,这个装饰器有助于保持代码的整洁性和可读性,使得日后的维护更加方便。
此外,文档还提到了“Python3高级教程”的部分内容,包括但不限于数据结构、算法、字符串处理、数字日期和时间等方面。这些章节覆盖了Python编程的基础和进阶技巧,适合有一定Python基础的读者学习和提升。值得注意的是,本文档不是Python初学者的入门教程,而是针对有一定经验的开发者提供高级技巧和解决方案。
1411 浏览量
241 浏览量
129 浏览量
点击了解资源详情
2091 浏览量
5449 浏览量
1411 浏览量
461 浏览量
点击了解资源详情
liu伟鹏
- 粉丝: 24
- 资源: 3851
最新资源
- 数据库系统概论第四版答案
- 数据库工程师课后习题答案
- 在windows server 2008 ee中部署microsoft office server 2007 r2
- 谭浩强的C语言程序设计教程(清华大学出版社)
- Linux HPC Cluster Installation
- 在windows server 2008 ee中部署microsoft office server 2007 r2
- C#3.0语言本质论
- perl 语言入门 (第四版)比较详细的讲述了perl语言 作者:Brian d foy, Tom Phoenix, Randal L.Schartz
- Adaptive Server Anywhere SQL 用户指南
- Adaptive Server Anywhere 编程指南
- L10n testing tutorial
- linux服务器搭建
- 谭浩强C语言PDF版
- C++ 电子日历
- 使用ASP.NET实现在线统计
- 面向对象C++ 小游戏