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

做网站虚拟主机多少钱查询企业年报的网站

做网站虚拟主机多少钱,查询企业年报的网站,佛山做优化的公司,企业网站开发框架为什么用装饰器#xff1f; 第一个原因是#xff0c;使用装饰器可以提升代码复用#xff0c;避免重复冗余代码。如果我有多个函数需要测量执行时间#xff0c;我可以直接将装饰器应用在这些函数上#xff0c;而不是给多个函数加上一样的代码。这样的代码既元余也不方便后…为什么用装饰器 第一个原因是使用装饰器可以提升代码复用避免重复冗余代码。如果我有多个函数需要测量执行时间我可以直接将装饰器应用在这些函数上而不是给多个函数加上一样的代码。这样的代码既元余也不方便后面维护第二个原因是使用装饰器可以保证函数的逻辑清晰。如果一个本身功能就很复杂的函数我还要通过修改内部代码来测量运行时间这样会模糊函数自身的主逻辑。同时软件开发的一个原则就是单一职责也就是说一个函数只应该承担一项责任第三通过装饰器我们可以扩展别人的函数。想象我们正在使用一个第三方库的函数但我要添加额外的行为比如测量运行时间那我就可以用装饰器去包装而不是跑到库里面去修改。 import time import math#函数接收的参数为函数 def mysqrt(x):return math.sqrt(x)def print_running(f,x):print(f{f.__name__} is running)return f(x)result print_running(mysqrt,9) print(result) mysqrt is running 3.0 #基本的装饰器例子import time def myDecorator(func):def warpper(*args,**kwargs):start_timetime.time()resultfunc(*args,**kwargs)end_timetime.time()print(f{func.__name__} running time :{end_time-start_time})return resultreturn warpperdec_mysqrtmyDecorator(mysqrt) resultdec_mysqrt(9) print(result)#使用语法完成函数名字上面代码段的dec_mysqrtmyDecorator(mysqrt)替换 myDecorator#函数接收的参数为函数 def mysqrt(x):return math.sqrt(x)xmysqrt(10) print(x)mysqrt running time :0.0 3.0 #装饰器生成器比如要要测量某函数运行时间是否超过阈值但不同函数的阈值是不一样的所以需要定义多个装饰器应对不同阈值吗不只需要用装饰器生成器 def timer(threshold):def decorator(func):def warpper(*args,**kwargs):start_timetime.time()resultfunc(*args,**kwargs)end_timetime.time()if (end_time-start_timethreshold):print(f{func.__name__} running time is over {threshold} seconds)return resultreturn warpperreturn decoratortimer(0.2) def sleep_04():time.sleep(0.4)# #上述写法的等价写法 # def sleep_04(): # time.sleep(0.4) # sleep_04 timer(0.2)(sleep_04)sleep_04() print(sleep_04.__name__) sleep_04 running time is over 0.2 seconds warpper #但是上面的代码的sleep_04.__name__是warpper不是sleep_04。 #能继承函数名字等参数的装饰器生成器import functools def timer(threshold):def decorator(func):functools.wraps(func)def wrapper(*args,**kwargs):start_timetime.time()resultfunc(*args,**kwargs)end_timetime.time()if (end_time-start_timethreshold):print(f{func.__name__} running time is over {threshold} seconds)return resultreturn wrapperreturn decoratortimer(0.2) def sleep_04():time.sleep(0.4) # #上述写法的等价写法 # def sleep_04(): # time.sleep(0.4) # sleep_04 timer(0.2)(sleep_04)sleep_04() print(sleep_04.__name__)sleep_04 running time is over 0.2 seconds sleep_04
http://www.w-s-a.com/news/173522/

相关文章:

  • 网站地址申请京东联盟怎么做网站
  • 三亚市城乡建设局网站网站口碑营销
  • 图书租借网站 开发企业网站搜索优化外
  • 新乡个人网站建设哪家好免费的图片做视频在线观看网站
  • 洛阳工程建设信息网站山西响应式网页建设哪里好
  • 企业网站建设市场的另一面wordpress分类插件
  • 网站建设名头公司展厅装修
  • 小型购物网站开发费用郑州企业网站模板建站
  • 个体商户建自己的网站做销售建设积分兑换官方网站
  • 网站建设与维护培训网页制作专业用语
  • 建站特别慢wordpress网页制作与设计项目策划书
  • 视频制作素材免费网站头像制作在线生成器
  • 网站建设是不是可以免费建站广州做网站 信科网络
  • 闸北区网站设计叫别人做网站后怎么更改密码
  • 为什么想做网站运营建设工程教育网站
  • 站长基地百度推广整体优化网站
  • 门窗 东莞网站建设wordpress外链论坛
  • 安徽省建设部网站官网还能用的wap网站
  • 企业网站设计开发网站关键词优化seo
  • 郑州高档网站建设台州网站建设推广
  • 广东省建设信息港网站WordPress手机缩略图设置
  • 优秀网站主题平顶山专业做网站公司
  • wordpress返回顶部插件wordpress站群seo
  • 企业网站建设报价表百度竞价托管哪家好
  • 织梦网站首页打开慢淄博网站推广那家好
  • 苏州高端网站建设kgwl互动网站建设的主页
  • 宿州网站建设哪家公司好个人网站制作方法
  • 网站正能量晚上在线观看视频站长之家关键词挖掘工具
  • 建设网站怎么判断是电脑还是手机仿租号网站源码网站开发
  • seo百度网站排名软件重庆巫山网站设计公司