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

设计网站建设书南昌大学论文更换动易网站模板的方法

设计网站建设书南昌大学论文,更换动易网站模板的方法,赣州网站网站建设,专门做灯具海报的网站生成器定义在 Python 中#xff0c;使用了 yield 的函数被称为生成器#xff08;generator#xff09;。跟普通函数不同的是#xff0c;生成器是一个返回迭代器的函数#xff0c;只能用于迭代操作#xff0c;更简单点理解生成器就是一个迭代器。 在调用生成器运行的过程中…生成器定义在 Python 中使用了 yield 的函数被称为生成器generator。跟普通函数不同的是生成器是一个返回迭代器的函数只能用于迭代操作更简单点理解生成器就是一个迭代器。 在调用生成器运行的过程中每次遇到 yield 时函数会暂停并保存当前所有的运行信息返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。yield 函数创建生成器generator。yield相当于 return 返回一个值并且记住这个返回的位置下次迭代时代码从yield的下一条语句开始执行代码如下def num_generator2():yield 1yield 2yield 3gen2 num_generator2() print(next(gen2)) print(next(gen2)) print(next(gen2)) print(next(gen2))输出 print(next(gen2)) StopIteration 1 2 3上面的代码中我们可以看到num_generator2() 是生成器函数而gen2 是生成器对象调用一次next 输出一个值生成器会记录前一次next的执行位置当next无值时抛出异常StopIterationprint(type(gen2)) 输出class generator因为通过next函数可以获取生成器对象的值所以生成器对象就是迭代器对象 执行下面代码可以证明from collections.abc import Iterator print(isinstance(gen2,Iterator)) 返回True再看一个经典的例子def demo():while True:val yield 1print(val:, val)g demo() print(第一次执行) print(next(g)) print(第二次执行) print(next(g)) print(第三次执行) print(g.send(2))输出第一次执行 1 第二次执行 val: None 1 第三次执行 val: 2 1对上面的例子进行一下分析第一次执行输出1返回了1因为 val yield 1 执行后程序就结束了所以 print(val:, val)没有被执行第二次执行输出val: None1因为记录了上次执行的位置所以val: None是while上面的print的结果val没有赋值所以是None,第二个是return的结果还是1第三次执行输出val: 21这里使用了send方法就是发送一个参数给val这次 print(val:, val)中的参数val 首先被赋值了2进行了输出然后在return 1使用生成器的原因为什么使用generator呢最重要的原因是可以按需生成并“返回”结果而不是一次性产生所有的返回值。比如对于下面的代码。NUM 100 for i in [x*x for x in range(NUM)]: # 第一种方法对列表进行迭代print(i) for i in (x*x for x in range(NUM)): # 第二种方法对generator进行迭代print (i)上面的代码中两个for语句输出是一样的代码字面上看来也就是中括号与小括号的区别创建生成器的一个简单方法是把列表生成式的 [ ] 变为 ( )。但这点区别差异是很大的第一种方法返回值是一个列表第二个方法返回的是一个generator对象。随着NUM的变大第一种方法返回的列表也越大占用的内存也越大但是对于第二种方法没有任何区别生成器一次只能返回一个值将大大减小占用内存。生成器和迭代器的区别熟悉迭代器的同学发现生成器和迭代器很像但必定还是两个东东二者的主要区别如下1. 迭代器是访问容器的一种方式容器已经出现我们是从已有元素获取一份副本来为我们此次迭代使用而生成器则是自己生成元素的。2. 在用法上生成器只需要简单函数写法配合yield就能实现而迭代器真正开发中使用有限return和yield的区别主要有两点return作为结尾的普通函数直接返回所有结果程序终止不再运行并销毁局部变量yield会产生一个断点暂停函数挂起函数保存当前状态。并且在yield处返回某个值返回之后程序就不再往下运行了。具体的解释带yield的函数是一个生成器而不是一个函数了这个生成器有一个函数就是next函数next就相当于“下一步”生成哪个数这一次的next开始的地方是接着上一次的next停止的地方执行的所以调用next的时候生成器并不会从函数的开始执行只是接着上一步停止的地方开始然后遇到yield后return出要生成的数此步就结束。
http://www.tj-hxxt.cn/news/226247.html

相关文章:

  • 平易云 网站建设网络设计费收费标准
  • 网站开发有几个阶段竞价排名服务
  • 网站上线准备工作杨凌开发建设局网站
  • 河间做网站 申梦网络网页设计软件h
  • 住房和城乡建设部网站加装电梯泰安的网站建设公司
  • 模板网站区别wordpress文章编辑器可视化
  • 公司自己做网站多少费用阿里云域名注册备案
  • 系统官网网站模板下载安装wordpress点击量设置
  • 网站开发工具及框架介绍手机版免费个人简历
  • 做网站公司合同旅游区网站开发
  • 可以做夫妻的游戏视频网站wordpress主题怎么制作
  • 企业网站后台模板需求不明确的软件开发模型
  • 衡水网站优化平台网站建设多少钱
  • 建网站一般多少钱幸福里百度网盘官方网站
  • 网站建设响应式网页图片转换成pdf文件
  • html简单网站建设代码网站上加一个浮动小框怎么做
  • 制定网站分工任务网站的建设规划微信学校网站模板
  • 北京企业建网站网站开发二维码生成
  • 重庆免费网站建站模板主题页面设计
  • 校园网站的建设与管理wordpress 数据读取
  • 深圳做网站公e福州官方网站
  • 高性能网站建设 下载吕梁网站建设公司
  • 哈尔滨自助建站系统中国建筑网官网查询施工员证
  • 网站建设及网络维护合同精准客源推广引流
  • 免费网站域名申请茶叶网站建设方案
  • c 企业网站开发aso榜单优化
  • 深圳哪些公司做网站python做网站需要什么
  • 简单的个人网站html网站开发需要什么费用
  • 保定免费建站seo关键词排名优化如何
  • 哪里可以接一些网站项目做邢台短视频推广