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

在国际网站上做贸易怎么发货西安赶集网官网

在国际网站上做贸易怎么发货,西安赶集网官网,网站建设费用预算表、,那些论坛网站做的比较好在我们使用Python编译过程中#xff0c;yield 关键字用于定义生成器函数#xff0c;它的作用是将函数变成一个生成器#xff0c;可以迭代产生值。yield 的行为在不同的情况下会有不同的效果和用途。 1、问题背景 在 Python 中#xff0c;“yield” 是一种生成器#xff0…在我们使用Python编译过程中yield 关键字用于定义生成器函数它的作用是将函数变成一个生成器可以迭代产生值。yield 的行为在不同的情况下会有不同的效果和用途。 1、问题背景 在 Python 中“yield” 是一种生成器generator的实现方式。生成器是一种特殊类型的迭代器iterator它可以在运行时动态产生值。然而在某些情况下使用生成器可能会遇到令人困惑的行为。 比如下面有一个函数 x()它产生一个生成器该生成器每次调用 next() 方法时都会递减全局变量 a 的值并产生一个 yield 语句: a 5def x():global aif a 3:raise Exception(Stop)a a - 1yield a现在让我们在 Python shell 中调用这个函数并打印出生成的值 print(x().next()) 4print(x().next()) 3到目前为止一切正常。但是如果我们把生成器函数的调用结果赋值给一个变量然后使用这个变量来产生值就会出现不同的行为 a 5b x()print(b.next()) 4b.next() StopIteration这次在第二次调用 b.next() 时它没有产生值而是引发了一个 StopIteration 异常。这是为什么呢 2、解决方案 要理解这种行为我们需要了解生成器的工作原理。 当我们调用一个生成器函数时它并不会立即执行函数体而是返回一个生成器对象generator object。这个生成器对象包含了函数体中的代码但它不会在调用时执行。当我们使用 next() 方法来产生值时生成器对象才会开始执行函数体。 在第一次调用 x() 时我们创建了一个新的生成器对象。这个对象在执行函数体时遇到了 a 3 这个条件并引发了一个异常。然后我们在 Python shell 中打印出了这个异常。 在第二次调用 x() 时我们又创建了一个新的生成器对象。这个对象在执行函数体时仍然遇到了 a 3 这个条件并引发了异常。 但是当我们把生成器函数的调用结果赋值给变量 b 时情况发生了变化。这使得我们可以多次调用 b.next() 来产生值。当我们第一次调用 b.next() 时生成器对象从上次中断的地方继续执行并产生了值 4。 然而当我们第二次调用 b.next() 时生成器对象已经执行到了函数体的末尾没有更多的值可以产生了。因此它引发了一个 StopIteration 异常。 为了更好地理解这种行为我们可以使用一个 for 循环来遍历生成器 def looping(stop):for i in looping(stop):yield i looping(3).next() 0looping(3).next() 0注意每次我们创建一个新的生成器循环都会从头开始。然而如果我们存储一个生成器的引用那么循环会继续从上次中断的地方继续执行 stored looping(3)stored.next() 0stored.next() 1stored.next() 2stored.next() Traceback (most recent call last):File stdin, line 1, in module StopIteration在循环期间每次执行 yield 语句时代码都会暂停调用 .next() 继续从上一时间中断的地方继续执行函数。 StopIteration 异常是完全正常的这是生成器传达它们已经完成的方式。一个 for 循环寻找这个异常来结束循环 for i in looping(3): ... print(i) ...0 1 2通过上述总结我们得知yield 在不同的上下文中有不同的行为但都涉及到生成器的创建或者协程的定义。所以说最终选择哪种模式还得更加自身情况来选择。
http://www.hkea.cn/news/14401942/

相关文章:

  • 在门户网站做推广wordpress 改ip
  • 满洲里网站制作免费网站下载大全
  • 瑞安市住房和城乡规划建设局网站网站开发毕设答辩
  • 如何免费建一个学校网站微网站建设步骤
  • 上海有名的做网站的公司有哪些wordpress去掉顶部工具栏
  • 网站制作添加视频网站模板asp
  • 狼们求个没封的免费网站网店美工培训
  • 小说网站分页关键字怎么做如何制作一个微信公众号
  • 专业零基础网站建设教学在哪里西安网站建设公司排
  • 手机网站建设图开源企业cms建站系统
  • 网站搭建环境wordpress 安卓主题下载
  • 建设网站需要分析什么海报模板素材网站
  • 海络网站烟台网站制作设计
  • 网站实现搜索功能三明市建设局网站
  • 数据库网站计算机网站建设好不好
  • 济南网站建设是什么意思wordpress 广告代码
  • ftp怎么做网站狼雨的网站
  • 网站升级改版wap手机网站 作用
  • 网页设计网站搭建网络运营商无服务怎么办
  • 示范校建设专题网站网站统计帮哪个好
  • 购物网站建设目标客户分析论文深圳市建设工程交易
  • 网站地图可以自己做么网站免费建站性盈盈影院
  • 博物馆建设网站的作用湛江seo
  • 廊坊网站建设 elu推广图片制作
  • 云主机怎么上传网站营销公司网络检索
  • 公司网站是怎么做的免费收录网提交
  • 上海网站建设价营销型和展示型网站的区别
  • 做的网站一定要收录么建网站比较好
  • 伪静态网站成功备案的网站增加域名
  • 建设网站要注意什么网站开发一般流程图