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

什么响应式网站wordpress装修网插件

什么响应式网站,wordpress装修网插件,四川建设厅招投标官方网站,云南网站建设专家一、生成器#xff08;generator#xff09; 先来看看一个简单的菲波那切数列#xff0c;出第一个和第二个外#xff0c;任意一个数都是由前两个数相加得到的。如#xff1a;0,1,1,2,3,5,8,13...... 输入斐波那契数列前N个数#xff1a; def fab(max): n, a, b 0, 0, 1 …一、生成器generator 先来看看一个简单的菲波那切数列出第一个和第二个外任意一个数都是由前两个数相加得到的。如0,1,1,2,3,5,8,13...... 输入斐波那契数列前N个数 def fab(max): n, a, b 0, 0, 1 while n max: print b a, b b, a b n n 1  结果 fib(100) 1 1 2 3 5 8 13 但是要提高 fib 函数的可复用性最好不要直接打印出数列而是返回一个 List。每次循环将b的值append到一个list中。 然而问题又来了。。。 该函数在运行中占用的内存会随着参数 max 的增大而增大如果要控制内存占用最好不要用 List来保存中间结果而是通过 iterable 对象来迭代。 在python2 中 for i in range(1000): pass   range会生成一个含有1000个元素的list极大地浪费了内存空间。 for i in xrange(1000): pass 而改进后的xrange则生成一个可迭代iterable对象每次迭代时返回下一个数值占用空间极少。 如此我们可以利用iterable来写一个fib类 class Fab(object): def __init__(self, max): self.max max self.n, self.a, self.b 0, 0, 1 def __iter__(self): return self def next(self): if self.n self.max: r self.b self.a, self.b self.b, self.a self.b self.n self.n 1 return r raise StopIteration() 然后,for循环会在每次循环中自动调用next()方法不断返回数列的下一个数。占用内存始终为常数。 for n in Fab(5): ... print(n)   虽然实现了需求但用class实现的fib并不简洁由此我们可以引入yield。 def fab(max): n, a, b 0, 0, 1 while n max: yield b # print(b) a, b b, a b n n 1 然后 for n in fab(5): ... print(n) yield 的作用就是把一个函数变成一个 generator带有 yield 的函数不再是一个普通函数Python 解释器会将其视为一个 generator调用 fib(5) 不会执行 fab 函数而是返回一个 iterable 对象在 for 循环执行时每次循环都会执行 fib 函数内部的代码执行到 yield b 时fib 函数就返回一个迭代值下次迭代时代码从 yield b 的下一条语句继续执行而函数的本地变量看起来和上次中断执行前是完全一样的于是函数继续执行直到再次遇到 yield。 手动执行过程 f fab(5) f.next() 1 f.next() 1 f.next() 2 f.next() 3 f.next() 5 f.next() Traceback (most recent call last): File stdin, line 1, in module StopIteration当函数执行结束时generator 自动抛出 StopIteration 异常表示迭代完成。在 for 循环里无需处理 StopIteration 异常循环会正常结束。 一个带有 yield 的函数就是一个 generator它和普通函数不同生成一个 generator 看起来像函数调用但不会执行任何函数代码直到对其调用 next()在 for 循环中会自动调用 next()才开始执行。虽然执行流程仍按函数的流程执行但每执行到一个 yield 语句就会中断并返回一个迭代值下次执行时从 yield 的下一个语句继续执行。看起来就好像一个函数在正常执行的过程中被 yield 中断了数次每次中断都会通过 yield 返回当前的迭代值。  转载于:https://www.cnblogs.com/pyramid1001/p/5854712.html
http://www.zqtcl.cn/news/326379/

相关文章:

  • wordpress 文档超级优化空间
  • 湖北seo网站推广官方网站怎么制作
  • 随州网站seo诊断wordpress 只显示一个主题
  • 建站登录可信网站认证 费用
  • 互站网站源码用jsp做网站一般会用到什么
  • 个人免费设计网站fomo3d 网站怎么做
  • 菏泽做网站公司公关公司经营范围
  • 钓鱼网站营销型网站建设实战
  • 可以下载电影的网站怎么做做网站公司西安
  • 自己做签名网站网店美工培训教程
  • 宁波产品网站设计模板php 网站 教程
  • 制作一个网站的费用是多少免费网站空间怎么
  • 如何建立自己的微网站网站建设教程怎么建
  • seo网站项目讲解沈阳网红
  • 苏州大型网站建设公司网站外链优化
  • 阿里云购买域名后怎么建网站沂南网站设计
  • 网站建设基础考试php网站开发入门
  • 广州五屏网站建设seo诊断报告示例
  • 周浦高端网站建设公司信阳做网站的公司
  • 博客网站怎么建设湛江新闻头条最新消息
  • 外贸网站建设 评价有没有教做网站实例视频
  • 县 住房和城乡建设局网站wordpress接入支付宝
  • 网站建设初期推广方式天津网站建设案例
  • 销项税和进项导入是在国税网站做吗凡科网站模块
  • 苏州建网站皆去苏州聚尚网络常州企业建站系统
  • 网站建设明细wordpress 主题稳定
  • 网站设计论文前言怎么写肇庆网站开发哪家专业
  • 商城建站系统松江新城做网站公司
  • 长沙招聘做搜狗pc网站优化排
  • 辽宁智能建站系统价格金融做市场广告挂哪些网站