12python(第十二天日记)
装饰器
1.函数的有用信息
def wrapper(f): # f = func1def inner(*args,**kwargs): #聚合#args (1,2,3)'''执行函数之前的相关操作'''ret = f(*args,**kwargs) # 打散 1,2,3'''执行函数之后的相关操作'''return retreturn inner @wrapper def func1():"""此函数是完成登陆的功能,参数分别是...作用。:return: 返回值是登陆成功与否(True,False)"""print(666)return True func1() print(func1.__name__) print(func1.__doc__)>>>666>>>inner>>>执行函数之前的相关操作 #因为此装饰器无法打印出完整装饰器执行操作,所以看下图----->正确打开方式:
from functools import wraps #新加 def wrapper(f): # f = func1 @wraps(f) #新加def inner(*args,**kwargs): #聚合#args (1,2,3)'''执行函数之前的相关操作'''ret = f(*args,**kwargs) # 打散 1,2,3'''执行函数之后的相关操作'''return retreturn inner @wrapper def func1():"""此函数是完成登陆的功能,参数分别是...作用。:return: 返回值是登陆成功与否(True,False)"""print(666)return True func1() print(func1.__name__) print(func1.__doc__)>>>666>>>func1>>> 此函数是完成登陆的功能,参数分别是...作用。 :return: 返回值是登陆成功与否(True,False)
2.带参数的装饰器
import time def timmer(*args,**kwargs):def wrapper(f):def inner(*args,**kwargs):if flag:start_time = time.time()ret = f(*args,**kwargs)time.sleep(0.3)end_time = time.time()print('此函数的执行效率%f' % (end_time-start_time))else:ret = f(*args, **kwargs)return retreturn innerreturn wrapperflag = True @timmer(flag,2,3) # 两步:1,timmer(flag) --> wrapper 2,@wrapper 装饰器 def func1():print(666)@timmer(flag) def func2():print(777) func1() func2()>>>666>>>此函数的执行效率0.300135>>>777>>>此函数的执行效率0.300409
3.多个装饰器装饰一个函数
def wrapper1(func): # func == f函数名def inner1():print('wrapper1 ,before func') # 2 func()print('wrapper1 ,after func') # 4return inner1def wrapper2(func): # func == inner1def inner2():print('wrapper2 ,before func') # 1 func()print('wrapper2 ,after func') # 5return inner2 @wrapper2 # f = wrapper2(f) 里面的f==inner1 外面的f == inner2 @wrapper1 # f = wrapper1(f) 里面的f==函数名f 外面的f == inner1 def f(): # 3print('in f')
转载于:https://www.cnblogs.com/xiaojipaobaba/p/8692255.html
12python(第十二天日记)相关推荐
- 华为实习日记——第二十二天
昨天夜里下了雨,今早上出门清清凉凉的,很舒服的温度. 8:50到工位,处理了一下邮件,然后复习计算机图形学. 9:40晨会,这周我们的小组的任务是做当前版本的支撑工作,下周会有930版本的迭代开发,那 ...
- 老李说事:性能测试服务日记
老李说事:性能测试服务日记 本次性能测试日记只是对过程进行记录,对工作进行梳理,其中技术问题涉及到很多,没有过多描述.项目全程15天,投入3个人(协调人,性能测试工程师两名),项目收入大约一辆5系进口 ...
- 简单日志(公开日记)
忘记什么时候写的日记,也没标上时间,只是感觉没必要标,意义在于从开始写那天和结束那天.偶尔看到电脑里放的这个日记,没敢去看,看着人似乎重现了昨日的迷茫.我把自己的日记公开吧,让大家看看我的昨日.现在我 ...
- 一个女人的机器人日记
自五月开始,我在某种程度上变成了机器人. 内置陀螺仪的自动稳定轮子代替了我的脚,iPad 的屏幕代替了我的脸,非广角摄像头代替了我的眼,我听不到的喇叭代替了我的口,每当收到高音就会发出爆裂声和嘘声的小 ...
- 《帝企鹅日记》观后感
第一次看到是在高中的英语周报上,那时候蛮好奇的,企鹅也写日记,呵呵,后来想了想应该是纪录片,时隔三年,发现当初的猜测果然不假. 我觉得那些企鹅很可爱,也很漂亮.最重要的是,那一条条小生命有着顽强的毅力 ...
- axure 模板_《惢客创业日记》2019.09.03(周二) 用Axure管理项目流程
今天,花了一整天的时间,搭建了一个本地服务器,并且,把Axure生成的网页系统部署在了IIS上.之所以,用Axure来把整个项目的资源做一个汇总,主要目的有三个: 第一.用Axure实现基于网页的项目 ...
- [UWP小白日记-10]程序启动屏(ios解锁既视感)
[UWP小白日记-10]程序启动屏(ios解锁既视感) 原文:[UWP小白日记-10]程序启动屏(ios解锁既视感) 讲一下 微软爸爸的开发者大会2016又暴了个表达式动画和Windows.UI.Co ...
- 我先了解一下博客园创建随笔/文章/日记的过程与三者的区别(隐私等级,是否审核等)...
我先了解一下博客园创建随笔/文章/日记的过程与三者的区别(隐私等级,是否审核等) 转载于:https://www.cnblogs.com/Totooria-Hyperion/p/5260289.htm ...
- 网络工程师成长日记333-某城市政府项目
网络工程师成长日记333-某城市政府项目 这是我的第333篇原创文章,记录网络工程师行业的点点滴滴,结交IT行业有缘之人 直接上干货,拓扑图: 工程目的:排除故障 配置如下: LinWei#show ...
最新文章
- Django 基本命令
- PMP考试错题记录(2)
- Android踩坑日记:Okhttp设置User-Agent你可能没遇到的坑
- 湖南加速恢复,“望城速度”强势打样
- Netty实战 IM即时通讯系统(五)客户端启动流程
- std::string的split函数
- Koa nuxt最佳实践前篇
- [http]HTTP状态码含义
- 《精通软件性能测试与LoadRunner最佳实战》—第1章1.1节软件测试基础
- [转载] 七龙珠第一部——第112话 能恢复年轻吗 比克大魔王
- springmuvc如何设置jsp的input跳转_小程序有链接吗?如何获取小程序的链接?
- c语言diy杀毒程序源代码,C语言作品→杀毒程序(原始版)
- web前端开发面试题(四)
- Linux服务器下安装ANSYS
- matlab多重比较lsd法,多重比较法-LSD I 附赠统计学最全思维导图~
- 一个基于OpenDDS的股票报价Stock Quote和交易exchange 的完整用例介绍
- 南方电网计算机招聘笔试,南方电网招聘笔试题(附答案).PDF
- 安装Gitblit版本控制服务器
- 《卓有成效程序员》第四章
- Saleor:开源、免费的无头电子商务平台——系列教程,快速打造属于你的电商网站
热门文章
- Web API应用架构在Winform混合框架中的应用(3)--Winfrom界面调用WebAPI的过程分解...
- clone oracle ebs
- Vmware vSphere 5.0存储的连接
- GHOSTXP_SP3
- TechEd2011之游园录(3)
- 热门开源CI/CD解决方案 GoCD 中曝极严重漏洞,可被用于接管服务器并执行任意代码...
- 4个开源 TCP/IP 栈被曝33个漏洞,数百万智能和工业设备受影响
- VMware 修复 Workstation、Fusion 中多个严重的代码执行漏洞
- mysql数据库中,查看数据库的字符集(所有库的字符集或者某个特定库的字符集)...
- [转] C++中 const, volatile, mutable用法