python wraps_python装饰器中的@wraps
第一段代码:没有添加@wraps
def user_login_confirm(name):
print(‘我是‘, name)
def deco_fun(view_func):
print(‘准备变身。。。‘)
def wrapper():
view_func()
print(‘变身完成。。。‘)
return wrapper
return deco_fun
@user_login_confirm(‘小辣椒‘)
def tony():
print(‘我是‘, tony.__name__)
tony()
运行结果:
我是 小辣椒
准备变身。。。
我是 wrapper
变身完成。。。
第二段代码:多加一个tony函数
def user_login_confirm(name):
print(‘我是‘, name)
def deco_fun(view_func):
print(‘准备变身。。。‘)
def wrapper():
view_func()
print(‘变身完成。。。‘)
return wrapper
return deco_fun
@user_login_confirm(‘小辣椒‘)
def tony():
print(‘我是‘, tony.__name__)
def tony():
print(‘我是‘, tony.__name__)
tony()
运行结果:
我是 小辣椒
准备变身。。。
我是 tony
第三段代码:添加了@wraps
from functools import wraps
def user_login_confirm(name):
print(‘我是‘, name)
def deco_fun(view_func):
print(‘准备变身。。。‘)
@wraps(view_func)
def wrapper():
view_func()
print(‘变身完成。。。‘)
return wrapper
return deco_fun
@user_login_confirm(‘小辣椒‘)
def tony():
print(‘我是‘, tony.__name__)
tony()
结论:
装饰器将被装饰函数变为了wrapper函数,连函数名也变了,通过@wraps(func)可以让函数名变回来。
python wraps_python装饰器中的@wraps相关推荐
- python functools import wraps_python装饰器中functools.wraps的作用详解
# 定义一个最简单的装饰器 def user_login_data(f): def wrapper(*args, **kwargs): return f(*args, **kwargs) return ...
- python 装饰器中的@wraps
就是将 被修饰的函数(wrapped) 的一些属性值赋值给 修饰器函数(wrapper) ,最终让属性的显示更符合我们的直觉. 详细的解释为 https://segmentfault.com/a/11 ...
- python中装饰器修复技术_python3之装饰器修复技术@wraps
普通函数 def f(): """ 这是一个用来测试装饰器修复技术的函数 """ print("哈哈哈") if __n ...
- python 运行时间 装饰器_python 装饰器统计某个函数的运行时间
import datetime def count_time(func): def int_time(*args, **kwargs): start_time = datetime.datetime. ...
- python中wraps_python装饰器函数wraps
python的装饰器是python的重要特性之一,通过装饰器你能够在执行已有的操作的同时,去执行额外的操作.装饰器的主要作用在不改变原有函数或者类等内部的实现的前提下,对其进行功能的拓展.这是装饰器最 ...
- python中wraps_python 装饰器及标准库functools中的wraps
最近在看 flask的视图装饰器 时,忽然想起预(复)习一下python的装饰器. 这里有一篇比较好的讲解装饰器的书写的 Python装饰器学习(九步入门) . 这里不单独记录装饰器的书写格式了,重点 ...
- python装饰器-python修饰器(装饰器)以及wraps
Python装饰器(decorator)是在程序开发中经常使用到的功能,合理使用装饰器,能让我们的程序如虎添翼. 装饰器的引入 初期及问题的诞生 假如现在在一个公司,有A B C三个业务部门,还有S一 ...
- python编写装饰器_写python中的装饰器
python中的装饰器主要用于在已有函数实现功能前附加需要输出的信息,下面将用实例展示我如何写装饰器. 首先分别尝试写装饰器装饰一个无参函数和一个有参函数(被装饰函数仅输出,无返回值情况下) 1 de ...
- 关于python中def的高级用法,def中套def,python函数装饰器
Python函数装饰器 装饰器(Decorators)是 Python 的一个重要部分.简单地说:他们是修改其他函数的功能的函数.他们有助于让我们的代码更简短,也更Pythonic(Python范儿) ...
最新文章
- Nexenta和ParaScale发布开源存储产品
- ppi 各代iphone_算算你的手机 高PPI屏幕显示强机推荐
- Rocket - tilelink - FIFOFixer
- linux如何映射Windows下的磁盘为网络盘
- dump解析入门-用VS解析dump文件进行排障
- C#编程高并发的几种处理方法
- VBSCRIPT的循环挺好理解的
- C#LeetCode刷题之#661-图片平滑器( Image Smoother)
- MyCat分布式数据库集群架构工作笔记0021---高可用_单表存储千万级_海量存储_水平分表全局表
- mongoDB 3.0以前版本 - 入门指南、示例
- Linux 命令(42)—— join 命令
- svg html5 ajax,jQuery附加到AJAX加载的SVG问题
- Mac字体安装的方法?Mac怎么安装新字体?Mac字体安装教程
- 思科中如何给服务器添加个人信息,使用 RADIUS 服务器进行的外部 Web 身份验证...
- php readystate,ajax+php打造进度条 readyState各状态
- 光敏电阻规格型号的含义解读研究总结
- 对待前任你有遗憾么?
- Newtonsoft.Json.JsonConvert.SerializeObject()
- Python-可变和不可变类型
- amis:amis编辑器生成JSON使用方法。