当前位置: 首页 > 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.dnsts.com.cn/news/134421.html

相关文章:

  • 关于建设学校网站策划书的范本用ps做网站首页顶部图片
  • 俱乐部网站 模板wordpress支持支付宝
  • 考证培训机构报名网站驻马店手机网站制作
  • 餐饮招商加盟网站建设费用合肥培训网站建设
  • 花瓣网是仿国外那个网站做的织梦对比wordpress
  • 个人网站是否需要备案小型企业网络拓扑图
  • wordpress备份整站鄂州市建设局网站
  • 最低成本做企业网站国内十大免费crm软件
  • 网站建设项目规划书社团宣传风景网页设计图片
  • 网站常用的蓝色企业网站托管排版设计
  • 建站大师阙梅娇简介wordpress农业模板
  • 网站建设需要的服务器网站快速优化排名软件
  • 商河网站建设在线解压zip网站
  • 浅析个人网站的设计论文设计北京
  • 系部网站开发计划书wordpress的多站点网站无法访问
  • 个人网站建设在哪里网页传奇私
  • 萍乡公司做网站网站cc攻击用什么来做
  • 做内部优惠券网站wordpress后台登陆美化
  • 厦门公司网站制作流程Wordpress 图片之间空隙
  • 网站的外部链接建设网站建设广告有哪些平台
  • 住房和城乡建设部网站打不开网站开发和软件开发哪个好
  • 网站内容建设要求age06华为通用软件开发工程师待遇
  • 云盘做网站文件我的家乡网页制作步骤
  • win7架设asp网站做网站用什么框架最方便
  • 做商城网站可以个人备案asp网站做seo
  • 东营聊城网站建设wordpress首页删除侧边栏
  • 网站建设制作设计公司个人在线网站推广
  • 外贸网站seo怎么做wordpress 模板 含数据库
  • 网站设计和程序员wordpress建站 云打印
  • 电商网站设计思路SEO网站链接模型