Python @wraps的用法
简述
装饰器的作用: 在不改变原有功能代码的基础上,添加额外的功能,如用户验证等。
@wraps(view_func)的作用: 不改变使用装饰器原有函数的结构(如name, doc)
实例
未使用@wraps()
def my_decorator(func):def wrapper(*args, **kwargs):'''decorator'''print('Decorated function...')return func(*args, **kwargs)return wrapper
@my_decorator
def test():"""Testword"""print('Test function')
test()
print(test.__name__, test.__doc__)
输出:
'''
Decorated function...
Test function
wrapper decorator
'''
使用了@wraps()
from functools import wraps
def my_decorator(func):@wraps(func)def wrapper(*args, **kwargs):'''decorator'''print('Decorated function...')return func(*args, **kwargs)return wrapper
@my_decorator
def test():"""Testword"""print('Test function')
test()
print(test.__name__, test.__doc__)
输出:
'''
Decorated function...
Test function
test Testword
'''
分析:
可以看到后边输出test.__name__与test.__doc__时,输出的是test的信息,这就是@wraps()的作用:不改变使用装饰器原有函数的结构.
__name__:输出函数的名字
__doc__:可以参看在下的上一篇(水文)blog
Python @wraps的用法相关推荐
- python装饰器实例-Python装饰器用法实例总结
本文实例讲述了Python装饰器用法.分享给大家供大家参考,具体如下: 一.装饰器是什么 python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能, ...
- 内置装饰器wraps的用法
装饰器的作用:再不改变原有功能代码的基础上,为其添加额外的功能.python wraps(内置装饰器)的用法: @wraps(func)的作用:不改变使用装饰器的原有函数func的结构.(比如入参格式 ...
- 简单介绍Python中异常处理用法
这篇文章主要给大家分享的是 Python中异常处理用法,为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理,下面来看看文章对此的用法,需要的朋友可以参考一下 为了保证程 ...
- python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解
本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...
- python matplotlib 简单用法
python matplotlib 简单用法 具体内容请参考官网 代码 import matplotlib.pyplot as plt import numpy as np # 支持中文 plt.rc ...
- (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案
(转)python requests 高级用法 -- 包括SSL 证书错误的解决方案 参考文章: (1)(转)python requests 高级用法 -- 包括SSL 证书错误的解决方案 (2)ht ...
- python所有函数用法_Python函数使用方法(高级用法)
前面章节,已经介绍了 Python 函数的所有基本用法和使用注意事项.但是,Python 函数的用法还远不止此,Python 函数还支持赋值.作为其他函数的参数以及作为其他函数的返回值. 首先,Pyt ...
- python的property用法_python @property的用法及含义全面解析
在接触python时最开始接触的代码,取长方形的长和宽,定义一个长方形类,然后设置长方形的长宽属性,通过实例化的方式调用长和宽,像如下代码一样. class Rectangle(object): de ...
- python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法
浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...
最新文章
- 无线节能信标核心板V4-测试-2021-4-3
- JVM运行时栈帧结构
- MySQL批量查询能返回集合吗_JDBC——查询多条记录,返回对应的对象的集合;查询一条记录,返回对应的对象...
- ozf oracle,ORACLE EBS 简称大全
- mysql强制禁止使用索引_MYSQL强制使用索引和禁止使用索引
- 想都不敢想!这8个神奇“黑科技”原来已经有人弄出来了
- 敏捷开发需求文档_需求的长期,敏捷文档
- php狼和兔子算法,PHP基于递归算法解决兔子生兔子问题php技巧
- 报错,ERROR 2572 --- [MessageBroker-2] o.h.engine.jdbc.spi.SqlExceptionHelper : Column ‘create_by‘
- GitLab CTO:开源是打造优秀软件的核心
- java错误:需要《标识符》
- 最新好用的服装零售进销存软件排行榜
- 一级域名二级域名区别
- iphone ios 手势
- 解决windows文件名过长无法删除的问题
- 单片机c语言编写注解,单片机C语言程序注解
- I2C协议研读(九):十位寻址
- ESP32-CAM、ESP8266、WIFI、蓝牙、单片机、热点创建嵌入式DNS服务器
- 我的世界服务器头像文件,端游我的世界怎么换头像,端游我的世界怎么换头像框...
- 人工智能科技如何为航空业“保驾护航”?