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

内衣网站建设详细方案沈阳网站建设联系方式

内衣网站建设详细方案,沈阳网站建设联系方式,wordpress短代码插件,wordpress logo 字体目录 1.函数嵌套 2.闭包 3.装饰器 这一节#xff0c;我会详细Python中讲解函数的进阶内容#xff0c;包括嵌套函数、闭包和装饰器。一起来学习吧#xff01;#xff01;#xff01; 1.函数嵌套 概念#xff1a;函数里面再定义一个函数 作用#xff1a;当我们在一个多…目录 1.函数嵌套 2.闭包 3.装饰器 这一节我会详细Python中讲解函数的进阶内容包括嵌套函数、闭包和装饰器。一起来学习吧 1.函数嵌套 概念函数里面再定义一个函数 作用当我们在一个多功能的函数里面想把这些功能进一步去拆分为多个子模块但是又觉得这些子模块放到全局的话会因为函数的名字冲突而影响程序的整体效果这时候我们就需要去利用函数的嵌套在函数里面去定义函数然后再进行调用这样可以提高代码的可读性先定义后调用 样式 def fun1():def fun2():passdef fun3():pass fun3() fun3() 示例 定义一个函数输入一个数字先判断这个数字是不是奇数如果是的话就返回这个奇数的阶乘如果不是的话就返回0 def fun(n):def judge():#判断是不是奇数if n%20:return Falseelse:return Truedef output(a):#获取上一个函数的返回值如果是计算就返回计算的阶乘否则返回0if a:sum1for i in range(1,n1):sum*ireturn sumelse:return 0return output(judge())sinput(输入你的数字:) print(fun(int(s))) 看这个就是一个嵌套函数的代码这让我们觉得这种写法非常明了一个大模块函数里面包含了多个小模块函数每个小模块有其相对应的功能可读性很强简洁明了。最最最重要的是这个函数里面的子函数名字是作为一个局部变量完全不会影响到外面的全局变量就算是外面有与子函数名字相同的变量结果也是互不影响的。 2.闭包 前面我们都知道函数变量其实是一个具有函数功能的变量其本质是一种变量类型所以我们可以去实现函数变量的赋值进而实现这个被赋值的变量具备了函数的功能其实闭包就是巧妙地利用了这种关系而形成的一种方法。 在讲之前先看个示例  def fun(time):print(o(*︶*)o)print(全民制作人们大家好)print(我是练习时长%s的个人练习生cxk%time)userfun user(两年半) #输出结果 # o(*︶*)o # 全民制作人们大家好 # 我是练习时长两年半的个人练习生cxk 概念闭包又称闭包函数或者闭合函数是基于函数嵌套搞出来一个特殊嵌套。闭包中外部函数返回的不是一个具体的值而是一个函数。一般情况下返回的函数会赋值给一个变量这个变量可以在后面被继续执行调用。 作用获取保存外部函数的变量不会因为这个变量随着函数的调用而销毁然后把外部函数的变量用到内部函数去最后返回内部函数 #闭包 def outside():a100 #这个是一个临时变量会随着函数被调用之后而销毁def inside(b):cabprint(f输出{c},end)return inside #注意这里是返回这个函数的变量名而不是返回整个函数myoutside() my(9) #此时变量 my 已经具备了inside() 这个函数的功能 #输出结果输出109 这个就是很简单的闭包形式在内函数中利用了外函数的临时变量同时还具备内函数的功能最后返回这个内函数变量名字当我们要去获取这类功能的变量时我们就可以去直接定义一个变量等于这个outside()函数以后做项目的时候会经常用到闭包的。 3.装饰器 在讲之前我先讲一个例子可以帮助我们更好地理解装饰器当我看到小美有一顶可爱的小白兔 帽子这时候我也想买跟她一样的帽子去戴到头上这时候我会去问小美哪里可以买到这顶帽子这时候小美会告诉我她买的地方我就会去那个地方买同样当我买了帽子之后小叶看到我买了这个帽子她也会问我去那里买我也很同样去告诉她……其实这个帽子就可以理解为一个装饰器而卖帽子的地方可以去看做一个产生装饰器的代码。 概念本质就是一个函数 是一个特殊的闭包也是函数嵌套的一种表现形式 作用就是在不修改源代码的前提下对原有的函数增加新的功能。遵循封闭开放原则对修改源代码的的操作封闭 对增加新的功能的操作开放 限制与统计 1.不可以修改已有的代码功能 2.不可以修改已有的函数调用方式 3.给一个已有函数增加额外的功能 装饰器与闭包函数区别 装饰器本质上是一个闭包函数但是装饰器有且仅有一个参数同时这个参数的类型还必须是函数类型这样才满足装饰器的条件否则那就不是装饰器而是一个闭包函数 先来看看几个例子 非装饰器原型具有装饰器功能 def out(q): #参数q是一个函数类型的参数def inside():q() #执行这个函数print(fuck)return q() #最后再次返回这个函数再次执行return inside #外函数返回内层函数def kun():print(蔡徐坤)print(只因)aout(kun) a() 你们可以去自行看代码试着想一下结果 以上就是结果这里可能会有些人觉得懵懵的。这个其实就是装饰器的一个功能原型但非装饰器首先是在out函数传入一个函数类型然后进入到内层函数来执行所以我们就看内层函数这个函数的执行顺序是先执行这个传入的函数再去打印一个fuck然后返回这个传入的函数再次执行所以结果就是这样而来的。 装饰器写法 #装饰器的代码 def out(q): #参数q是一个函数类型的参数def inside():q() #执行这个函数print(fuck)return q() #最后再次返回这个函数再次执行return inside #外函数返回内层函数 out #装饰器的使用等效于kunout(kun) 即kuninside后面直接去使用就行了 def kun():print(蔡徐坤)print(只因)kun()#直接调用这个已经被装饰好了的函数 out函数就是一个装饰器的代码当我们要去装饰函数的时候就直接去艾特就行了这时候这个函数会传入到装饰器里面去然后进入到内层函数进行相对应的功能自然输出结果也是一样的。 带参数的装饰器 请写一个装饰器可以实现一个带参数的加法函数然后给每个参数增加阶乘功能最后返回这些参数阶乘的和 比如输入 4 和 5 输出45的结果 def out(q): #参数q是一个带参数的函数类型的参数def inside(a,b): #内层函数需要传入被装饰函数的参数值不然无法在下面去调用这个函数sum11#a的阶乘sum21#b的阶乘for i in range(1,a1):sum1*ifor j in range(1,b1):sum2*jq(sum1,sum2)#这里就调用了加法函数然后输出sum1和sum2的和return inside out #等效于kunout(kun) 即kuninside,要用的时候就直接去调用就行了 def kun(a,b):cabprint(c)aint(input(num1:)) bint(input(num2:)) kun(a,b) 这个就是带有参数的装饰器要注意好参数的类型以及位置当我们要在传上去里面去传入参数的时候就得取出要装饰的参数部分与之相对应。 在Python中装饰器的功能是非常强大的我们去定义函数的时候可以通过装饰器来给这个函数来添加功能完全不需要去定义另一个函数来实现这些功能而且装饰器还可以多次使用随取随用。 送一张壁纸~~
http://www.hkea.cn/news/14302633/

相关文章:

  • 怎么做赌钱网站南昌网站建设工作
  • 一起做网站欧洲站wordpress登录后台404
  • 免费网站建设服务wap版网站 加app提示
  • 推广网站有哪些wordpress新建页面发布失败
  • 做二手的网站有哪些wordpress语言更换
  • 秦皇岛 免费建网站凡科互动游戏可以作弊码
  • 通化市建设工程招投标网站江宁区住房和城乡建设局网站
  • 百度公司网站制作网站建设与排名
  • 会宁县建设局网站网站 外包方案
  • 东阳营销型网站建设品牌天辰建设网站公司
  • 邢台建设局网站上中标公示查询公众号运营的推广方法
  • 崇文手机网站建设建设银行客户投诉网站
  • 中国建设部网站关于资质wordpress 手机管理
  • 网投怎么做网站青海建设协会网站
  • 坪山网站设计的公司成都旅游景点攻略
  • 做京东网站需要哪些手续费wordpress 在线预览
  • 自己搭服务器 做购物网站成本2022装修简约风格效果图
  • 贵州安顺建设局网站免费追剧永久免费app
  • iis如何发布asp.net网站wordpress 财经插件
  • 深圳优秀网站建设网站建设建材
  • 建站宝盒如何使用纪念馆展厅设计
  • 一 网站建设管理基本情况保险哪家好
  • 巫山集团网站建设一站式快速网站排名多少钱
  • 建网站公司销售广州网站建设鞍山
  • 网站设计怎么保持风格一致平面设计师推荐网站
  • 学校网站建设目的是什么意思免费行情软件app网
  • 滨州哪里有做网站的广州白云做网站
  • 手机网站好还是h5好开建筑公司取名字如何取好旺
  • 广州黄埔做网站的公司国家有规定必须做可信网站验证
  • 做海报 画册的素材网站专业的聊城网站优化