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

企业网站设计中应注意产品发布功能优化电子商务静态网站建设心得

企业网站设计中应注意产品发布功能优化,电子商务静态网站建设心得,百度地图实时街景怎么移动,在线数据分析网站1. 闭包函数 什么是闭包函数 闭包函数就是在函数内部定义了一个函数#xff08;内嵌函数#xff09;#xff0c;并将这个函数的引用作为返回值返回。 但是闭包函数可以调用外部函数的形参和变量#xff0c;并且在外部调用闭包函数时#xff0c;其外部函数的形参和变量仍…1. 闭包函数 什么是闭包函数 闭包函数就是在函数内部定义了一个函数内嵌函数并将这个函数的引用作为返回值返回。 但是闭包函数可以调用外部函数的形参和变量并且在外部调用闭包函数时其外部函数的形参和变量仍然生效 无参数的闭包函数 def out_func():print(外面的函数被调用) # 1def inner_func():print(里面的函数被调用 -- inner_func()) # 3print(外面的函数调用完成返回inner_func的引用) # 2return inner_func# out_func()的返回值是inner_func x out_func() # x inner_func x() print(type(x))# 执行结果 外面的函数被调用 外面的函数调用完成返回inner_func的引用 里面的函数被调用 -- inner_func() class function 有参数的闭包函数 在调用外部函数时闭包函数不会被执行但是外部函数的变量和形参会被放入内存中当外部调用闭包函数时闭包函数仍然可以调用内存中其外部函数的形参和变量 def func_out(num1: int):a 50def func_inner(num2: int):result num1 num2 aprint(f外部函数的形参为{num1}内部函数的形参为{num2}外部函数的局部变量为{a}相加为{result})return func_inner # 注意不能加()f func_out(100) # 参数 100 是外部函数的传参num1 # 参数 200 是闭包函数的传参num2因为此时f为func_inner f(200)# 运行结果外部函数的形参为100内部函数的形参为200外部函数的局部变量为50相加为350 2. 装饰器 什么是装饰器 装饰器本质就是一个闭包函数它将装饰起来的函数当做参数传递到外部函数的形参然后在其闭包函数中执行该函数。 装饰器的作用就是在被装饰函数的前后添加新的功能或限制。 无参数的装饰器 如果被装饰的函数带有参数则需要在闭包函数中添加相应的形参并在调用被装饰的函数时将其传递进去 # 装饰器就是一个函数它会返回一个函数的引用并且形参有且只有一个 # 装饰器不会改变原函数的功能它会在其外部执行前或执行后添加新的功能或限制 # 装饰器的本质就是一个闭包函数只是把外部函数的传参是一个函数的引用在内部函数调用了该函数def check(func):def inner():print(开始登录)print(输入用户名和密码并登录)print(登录中...)print(登录成功)func()return innerdef check2(func):def inner(a):print(开始登录)print(输入用户名和密码并登录)print(登录中...)print(登录成功)func(a)return inner# 1. 可以使用注解的方式添加装饰器 check def shopping():print(添加一件商品到购物车)check2 def shopping2(a):print(f添加{a}件商品到购物车)# 2. 将原有函数的引用指向装饰器的引用并将原有函数的引用传递到形参中 # 如果不加装饰器则需要下面这行代码才能运行shopping() # shopping2(2)也是同理 # shopping check(shopping) shopping() shopping2(2) 有参数的装饰器 有参数的装饰器就是在无参数装饰器的基础上再套一层函数用于将装饰器的参数传递进来也就是三层函数。 因为第三层的函数需要装饰器的传参但是第二层的函数的形参需要传递函数引用所以在第三层函数传递装饰器的传参然后返回第二层函数这样第二次函数可以调用第三层函数的形参也就是装饰器的传参然后第二层装饰再返回最里面的闭包函数。 这样闭包函数既有装饰器的传参也有被装饰的函数的引用 def mark(flag):def out_func(fn):def inner_func(num1, num2):print(开始计算...)print(计算完成结果为)print(fn(num1, num2))return inner_funcreturn out_funcmark() def add(a, b):return a bmark(-) def sub(a, b):return a - b# 如果不加装饰器则需要执行下面两行代码才能执行add(1, 2) # sub(1, 2)也是同理 # out_func mark() # add out_func(add)add(1, 2) sub(1, 2) 3. 生成器 什么是生成器 当一个函数是用来yield关键字时它就是一个生成器 当生成器执行到yield时会跳出函数可以返回数据当下次再调用生成器时会从上次调用的yield下面一行代码开始运行直到遇到下一个yield以此类推 当生成器的内容全部执行完毕之后想要再次执行生成器需要重新赋值变量 生成器的使用 # 当函数中使用yield关键字时该函数就是一个生成器 # yield的功能和return一样可以结束函数的运行并可以返回值# yield和return的区别当函数执行yield之后会退出函数但是下次再调用该函数时会从上传调用yield的下面开始执行def func1():print(1)print(2)print(3)print(4)print(5)yield 6print(7)print(8)print(9)yield 10print(11)print(12)print(13)yield使用方法1. 首先将函数赋值给一个变量fn2. 将变量fn传入到next()函数的形参 -- next(fn)3. 调用next(fn)就相当于调用生成器4. 当生成器内容完全执行完后该变量不会重新开始生成器的内容 fn func1() print(第一次调用生成器) print(f生成器返回值{next(fn)}) print(第二次调用生成器) print(f生成器返回值{next(fn)}) print(第三次调用生成器) print(f生成器返回值{next(fn)})print(- * 100)# 再次调用需要重新赋值 fn1 func1() print(第一次调用生成器) print(f生成器返回值{next(fn1)}) print(第二次调用生成器) print(f生成器返回值{next(fn1)}) print(第三次调用生成器) print(f生成器返回值{next(fn1)}) def func2():i 0while i 10000:if i 3000:yield ii 1yield ifn2 func2() print(next(fn2)) print(next(fn2)) yield和return的区别 相同点yield的功能和return一样可以结束函数的运行并且可以返回值。 区别yield调用后退出函数下次调用函数时会从yield下面开始执行函数return退出后会从头开始执行函数。
http://www.zqtcl.cn/news/647433/

相关文章:

  • 咋样做网站快照济南建设质量协会网站
  • 学校网站怎么建设兄弟网络(西安网站建设制作公司)
  • 长春市城乡建设局网站photoshop破解版下载免费中文版
  • 吕梁网站设计天津高端网页制作
  • 建一个网站做cpa联盟做淘客的网站都有哪几个
  • 中国建设银行网站对公业务wordpress 文章归档页面
  • 东软 网站群平台建设用个人电脑做网站服务器
  • 音乐播放网站开发pc端营销网站的关键字
  • 江门网站推广宿州官方网站建设
  • 企业网站建设策划书范文江苏高端网站建设
  • 网站开发 浏览器济宁网站建设服务
  • 整套网站建设网站开发中如何实现gps定位
  • 网站建设计划表福州自助建站
  • 网站做的比较好的公司吗2017年做网站多少钱
  • 基础展示营销型型网站重庆百度总代理
  • 网站建设 技术可行性这是我自己做的网站
  • 西安网站策划关键词优化哪家好
  • 能看建设动漫黄图的网站海外仓一件代发平台
  • 做网站都需要了解什么大连福佳新城2026年建站吗
  • php 网站部署到服务器泉州模板建站哪家好
  • 网站服务器上的跳转选择怎么做网站是怎么建立的
  • 网站后台目录如何保护公司网站建设需要要求什么软件
  • 四川省建设厅网站官网自己做的网站能上传到凡科吗
  • 米拓网站建设-app定制开发免费个人建站系统
  • 网站改版公司如何帮公司做网站
  • 曹县汽车网站建设网站怎么做才 吸引人
  • 河南周口东宇网站建设wordpress怎么重新安装插件
  • wordpress无法上传主题南通做网站优化公司
  • 做彩票网站能挣到钱吗南充市房产信息网
  • 沧州北京网站建设金华网站建设哪个公司好点