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

广告网站建设与制作公司昆明网站建设时间

广告网站建设与制作公司,昆明网站建设时间,校园网站建设总体设计,西安网站定制本文改编自以下文章#xff1a;Decorators in Python 装饰器是一个很强大的工具#xff0c;它允许我们很便捷地修改已有函数或者类的功能#xff0c;我们可以用装饰器把另一个函数包装起来#xff0c;扩展一些功能而不需要去修改这个函数代码。 预备知识 在Python中… 本文改编自以下文章Decorators in Python 装饰器是一个很强大的工具它允许我们很便捷地修改已有函数或者类的功能我们可以用装饰器把另一个函数包装起来扩展一些功能而不需要去修改这个函数代码。 预备知识 在Python中函数是第一类对象也就是说Python中的函数可以作为参数来使用或传递它具有如下属性 可以将函数存储在变量中可以将函数作为参数传递给另一个函数可以在函数中 return 另一个函数可以将函数存储在数据结构中如哈希表列表等 【例 1】将函数视为对象 在上面例子中我们把函数up赋值给变量up1。这个操作并不会调用函数而只是给函数up取了个别名up1。 【例 2】将函数作为参数传递 上面例子中函数dream的参数up和low也是函数 【例 3】从函数中 return 函数 这边比较绕注意create_adder(15)返回的是一个函数这个函数等同于adder并且其内参数x是15。 最简单的装饰器 这边给出一个装饰器 可以看到装饰器就是把一个函数作为参数传进去它本身也是个函数把传进去的函数包装完之后再把函数传出来。 我们把装饰器当成函数正常调用就是上面这样。当然装饰器有它特殊的用法比如像这样 它的工作逻辑就是把我定义的函数paper1当成参数传递给我的装饰器decorator再传出来当然我也可以把装饰器当成函数直接调用就是麻烦一点罢了。 装饰器的语法逻辑是这样的 decorator def func():print(果壳小旋子)Above code is equivalent to -def func():print(果壳小旋子)func decorator(func)【例 4】计算代码运行时间的装饰器 # importing libraries import time import math# decorator to calculate duration # taken by any function. def calculate_time(func):# added arguments inside the inner1,# if function takes any arguments,# can be added like this.def inner1(*args, **kwargs):# storing time before function executionbegin time.time()func(*args, **kwargs)# storing time after function executionend time.time()print(Total time taken in : , func.__name__, end - begin)return inner1装饰器的作用很明显了当我需要计算某一个函数的运行时间时我只要找到那个函数的定义在前面calculate_time就行了不需要再一个一个修改函数当我不需要计算时间的时候把装饰器删掉就行了。 被装饰的函数需要传参有返回值 def hello_decorator(func):def inner1(*args, **kwargs):print(before Execution)# getting the returned valuereturned_value func(*args, **kwargs)print(after Execution)# returning the value to the original framereturn returned_valuereturn inner1上面的装饰器中的内层函数inner1可以接收参数*args, **kwargs并且可以返回值returned_value。*args表示可以接受任意长度的位置参数**kwargs表示可以接受任意长度的关键字参数。 多个装饰器连用 如果我有多个装饰器来装饰同一个函数会是什么情况首先定义两个装饰器 # code for testing decorator chaining def decor1(func):def inner():x func()return x * xreturn innerdef decor(func):def inner():x func()return 2 * xreturn inner装饰器decor将函数返回值加倍装饰器decor1将函数返回值乘方 等价于 decor1(decor(num)) decor(decor1(num2))
http://www.hkea.cn/news/14500400/

相关文章:

  • 林州网站建设策划如何制作网站二维码
  • 太原网站空间百度关键词挖掘查询工具
  • 西安网站设计开发人才怀化网站优化推荐
  • 网站图片移动怎么做深圳市盐田区建设局网站
  • 做网站的设计文档怎么做app开发免费平台
  • 广州网站建设天维医疗网页设计
  • 沈阳有资质做网站的公司上海小程序开发定制
  • 有特点的个人网站做专利费减是哪个网站
  • 北京官方网站网jsp网站开发公司
  • 网站主机选择与优化南京seo圈子
  • 网站头部设计山东省建设职业教育集团网站
  • 建网站需要什么条件宁波网站推广人
  • 网站开发的产品用什么形容词形容环保企业的网站怎么做
  • 钓鱼网站的类型wordpress主题漏洞
  • 湖北强涛建设工程有限公司网站dw做网站字体 别人电脑显示
  • 网站制作视频课程旅游酒店网站建设
  • 网站建设结构表网站2019建设目标
  • 网站抄袭青岛网站建设公司招聘
  • 深圳观澜网站建设小程序开发公司师大排名
  • 电商网站建设咨询企业网页设计教程
  • 洛阳网站建设汉狮怎么样上海人才网站
  • 天津公司网站开发临沂网站建设教程
  • 网站和公众号的区别是什么网站百度地图标记代码
  • 网站管理后台 模板网站备案方法
  • 大淘客网站建设app小孩做阅读的网站有哪些
  • 这是我做的网站吗成都微信小程序开发平台
  • 校园网站制度建设做网站需要备几个案
  • 昆明网站建设咨询百度推广自己怎么做
  • 乐清网站定制公司哪家好网站 chat now怎么做
  • 可视网站开发工具wordpress增加左侧悬浮菜单