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

重庆专业做网站公司做网站都需要服务器吗

重庆专业做网站公司,做网站都需要服务器吗,网站开发资金来源,视频怎么转成网址上一篇 理解python中的yield关键字 介绍了使用yeld实现生成器函数#xff0c;这一篇我们来继续深入的了解一下yield#xff0c;用yield实现协程。先来解答一下上一篇留下的问题#xff1a;下面的代码为什么第二次调用next打印None呢#xff1f;def 事实是这样的#xff0c…上一篇 理解python中的yield关键字 介绍了使用yeld实现生成器函数这一篇我们来继续深入的了解一下yield用yield实现协程。先来解答一下上一篇留下的问题下面的代码为什么第二次调用next打印None呢def 事实是这样的yield语句默认返回None。当第一次调用next方法时生成器函数开始执行执行到yield表达式为止但此时赋值操作并为执行。上面的代码中在第一次调用next的时候echo生成了1。第二次调用next的时候yield表达式的值赋给了nn此时变成None了再次yield n的时候就自然生成None了。好了接下来开始本文的主题。什么是协程引用官方的说法协程是一种用户态的轻量级线程协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时将寄存器上下文和栈保存到其他地方在切回来的时候恢复先前保存的寄存器上下文和栈直接操作栈则基本没有内核切换的开销可以不加锁的访问全局变量所以上下文的切换非常快。与线程相比协程更轻量。一个Python线程大概占用8M内存而一个协程只占用1KB不到内存。协程更适用于IO密集型的应用。在讲述协程的实现前我们有必要先来看一下send方法。send方法yield表达式有一个返回值send方法的作用就是控制这个返回值send的参数就是yield表达式的返回值。我们来看一下官方文档上关于send的定义generate.send(value)生成器的send(value)方法会将value值“发送”给生成器中的方法。value参数变成当前yield表达式的值。send()方法会返回生成器生成的下一个yield值或者StopIteration异常如果生成器没有生成下一个yield值就退出了。当通过调用send()启动生成器时value值必须为None因为当前还没有yield表达式可以接收参数。是不是看晕了我们来看一个例子def 上面的代码输出before yield after yield: 1 before yield after yield: 2 before yield after yield: None before yield第一次调用next的时候程序从函数最开始处运行打印出before yield执行到yield处停在该处。接下来向生成器send(1)。send在这里起到两个作用一个是将参数值赋给yield的返回值然后该返回值赋给了变量x一个是继续程序的执行直到下一次遇到yield停下来。第二个功能和next类似。其实next 就相当于 send(None) 。执行了 send(1) 后x被赋值给yield的返回值即send的参数1并继续往下执行打印出了after yield: 1继续执行回到循环的开始向下执行打印出before yield再次遇到yield停在该处等待下一次send或next的调用。向生成器send(2)。这里的步骤和 send(1) 相同打印出下面两条后在yield处停住。after yield: 2before yield执行 next(g)x被赋值为yield表达式的返回值也就是None继续向下执行打印出after yield: None再次回到循环的开始向下执行打印出before yield程序运行结束。现在是不是有点理解send了yield和send实现Python协程我们来用协程实现一个生产者/消费者的例子import 运行上面的程序会输出[producer] producing 1... [consumer] consuming 1... [producer] consumer return: well received [producer] producing 2... [consumer] consuming 2... [producer] consumer return: well received [producer] producing 3... [consumer] consuming 3... [producer] consumer return: well received [producer] producing 4... [consumer] consuming 4... [producer] consumer return: well received [producer] producing 5... [consumer] consuming 5... [producer] consumer return: well receivedproduce函数负责生产数据consume函数负责消费数据。具体执行过程如下首先调用consume函数consume函数的返回是一个生成器把这个生成器传入produce函数。produce函数中调用next(c)启动生成器。计算 n n1 生成数据一旦生产了数据调用 c.send(n) 切换到consume执行。consume函数中拿到数据后赋值给n继续执行yield后面的语句。consume函数中打印消费的数据并设置返回值r又回到循环的开始通过yield把结果传回。produce拿到consume返回的值继续生产下一个数据。5个数据生产完毕后循环结束通过c.close()关闭consume结束全过程。produce和consume函数在一个线程内执行通过调用send方法和yield互相切换实现协程的功能。
http://www.pierceye.com/news/330334/

相关文章:

  • 智能建站的优势和不足app注册推广拉人
  • 做网站用软件网站制作怎么创业
  • 解放碑电子商务网站建设网站建设英文如何表达
  • 长春好的做网站公司有哪些网站建设标准
  • 公司网站首页大图怎么做台州网站制作定制
  • 网站建设公司软件开发浅谈网站建设开发
  • 松江网站开发培训课程海外域名注册商
  • 智慧景区网站服务建设线下课程seo
  • 做3个网站需要多大的服务器做地铁建设的公司网站
  • 深圳app网站建设哪家好广西桂林
  • 网站开发及上线过程网站建设备案策划书
  • 杭州九鸿科技网站开发网站模板 素材
  • 网站建设网站软件有哪些wordpress如何输入拼音
  • 昆山网站建设哪家便宜简单的模板网站
  • 做图标得英文网站wordpress写代码插件
  • 网站网页设计案例wordprees可以做棋类网站吗
  • 天河区门户网站官网小学生一分钟新闻播报
  • 漯河网站建设lhwzzz网络服务器机柜
  • 有口碑的武进网站建设国内做房车游网站
  • 山东省城乡住房和城乡建设厅网站济南网站建设wuliankj
  • 网站首页跳出弹窗wordpress远程后台设置
  • 免费信息网站建设平台影响网站排名的因素 权重
  • 做房产网站接不到电话湖北网站建设平台
  • 厦门国外网站建设公司排名上海自贸区注册公司优惠政策
  • 网站建设的公司实习做什么成都住建局官网住建智慧建管
  • 建一个免费看电影的网站犯法不国家企业信用信息没有网站怎么做
  • 长春网站vantage wordpress
  • 帝国cms如何做网站地图自己做的网站还要买域名么
  • 网站建设与维护税率网络营销案例及视频
  • 网站建设 繁体精品课网站制作