当前位置: 首页 > news >正文

网站有关于我们的好处阿克苏交通建设局网站

网站有关于我们的好处,阿克苏交通建设局网站,软文营销的概念是什么,互站网1、定义#xff1a; #xff08;1#xff09;装饰器指的是为被装饰对象添加额外功能的工具/函数。 2、使用装饰器的意义#xff08;原因#xff09;#xff1a; 如果我们已经上线了一个项目#xff0c;我们需要修改某一个方法#xff0c;但是我们不想修改方法的使用…1、定义 1装饰器指的是为被装饰对象添加额外功能的工具/函数。 2、使用装饰器的意义原因 如果我们已经上线了一个项目我们需要修改某一个方法但是我们不想修改方法的使用方法这个时 候可以使用装饰器。因为软件的维护应该遵循开放封闭原则即软件一旦上线运行后软件的维护对修改源代码是封闭的对扩展功能指的是开放的。 3、装饰器的实现必须遵循两大原则 封闭: 对已经实现的功能代码块封闭。 不修改被装饰对象的源代码开放: 对扩展开发 装饰器其实就是在遵循以上两个原则的前提下为被装饰对象添加新功能。 4、如何实现装饰器 装饰器本质上是一个函数该函数用来处理其他函数它可以让其他函数在不需要修改代码的前提下增加额外的功能装饰器的返回值也是一个函数对象。 *******饰器的通用模板*******很重要 from functools import wrapsdef function(func): #func被装饰的函数wraps(func) #保留被装饰函数的名字和帮助文档def wrapper(*args, **kwargs): #形参可变参数元组关键字参数字典被装饰函数前需要添加的内容result func(*args, **kwargs) # 实参解包被装饰函数后需要添加的内容return resultreturn wrapper 5、装饰器的应用场景 装饰器经常用于有切面需求的场景比如插入日志、性能测试、事务处理、缓存、 权限校验等应用场景。 装饰器典型应用场景 Django框架装饰器应用http://y.tsutsumi.io/dry-principles-through-python-decorators.html 1插入日志 from functools import wraps# 定义装饰器 def logger(func):插入日志的装饰器wraps(func)def wrapper(*args, **kwargs):print(函数%s开始执行 % (func.__name__))result func(*args, **kwargs)print(函数%s执行结束 % (func.__name__))return resultreturn wrapper# 使用装饰器 logger # 语法糖 执行 login logger(login) 将login通过logger函数进行装饰返回wrapper def login(username, password):if username root and password 123:print(login ok)print(%s login ok % (username))else:print(login failed)print(%s login failed % (username))if __name__ __main__:login(root, 123) # 实质执行的是wrapper函数 # ---- 运行结果----- # 函数login开始执行 # login ok # root login ok # 函数login执行结束 2性能测试 比如:计算代码运行时间 from functools import wraps import timedef timeit(func): # 2 funcdownload_music打印被装饰函数运行总时间的装饰器# wraps保留被装饰函数的函数名和帮助文档 否则是wrapper的信息.wraps(func)def wrapper(*args, **kwargs): # 5 args(Music, ), kwargs{}start_time time.time()result func(*args, **kwargs) # 6 func(Music)download_music(Music)end_time time.time()print(%s函数运行总时间为%fs %(func.__name__, end_time-start_time))return result # 7return wrapper # 3timeit # 1 timeit实质上执行的内容: download_music timeit(download_music) wrapper def download_music(name): # 7time.sleep(0.4)print([Download]: , name)return True# 调用download_music函数时实质上调用的是wrapper函数。 download_music(Music) # 4 运行结果 [Download]: Music download_music函数运行总时间为0.420078s 参考自https://blog.csdn.net/daidadeguaiguai/article/details/103672492
http://www.yutouwan.com/news/388329/

相关文章:

  • 广州shopify代建站徐州做网站的公司招聘
  • 注册网站时跳过验证码现在流行什么做网站
  • 海南电商网站建设有创意的电商公司名字大全
  • 北京 代理前置审批 网站备案香奈儿网站建设的目标
  • 怎样拍照产品做网站沃尔玛网上商城叫什么
  • 阿里云建站后台建站asp网站打开
  • 福州网站建设设计公司安康网站建设公司价格
  • 建设asp网站视频教程宣传软文模板
  • 常州城乡建设局网站怎么做游戏代理
  • 番禺响应式网站建设武功县住房和城乡建设局官网站
  • 网站建设如果登录失败做招聘网站需要什么人员
  • 做普工招聘网站网站导航栏兼容性
  • 佛山高端网站兰州网站建设运营方案
  • 这样做自己公司的网站wordpress删除模板文件夹
  • 国内做服装的网站有哪些商务卫士包括网站建设
  • 搜索网站logo怎么做自己做网站花钱吗
  • 如何保存自己做的网站虚拟主机销售网站源码
  • 什么是推广型网站设计制作生态瓶
  • 龙岩网站建设运营网站公司网站搭建
  • 建站公司服务深圳 网站
  • 一个帮你赚钱的网站是谁做的广告西充建设部门投诉网站
  • 中山建网站咨询电话网站设计风格升级
  • 做网站什么软件好合肥市住房建设局网站
  • 信息技术会考做网站做网站时图片要切片有什么作用
  • 厦门做网站多少钱建设项目验收公示网站
  • 厦门旅游网站建设目的做网站学哪方面知识
  • 荷城网站制作网站发展趋势
  • 做女装的看哪个网站好wordpress虾米音乐插件
  • 网站设计师网站wordpress改
  • 网站开发众筹做网页需要什么软件