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

做网站的公司现在还 赚钱吗视频网站如何做微信营销

做网站的公司现在还 赚钱吗,视频网站如何做微信营销,怎么登录甘肃省建设厅网站,中国互联网协会副理事长上节内容说到Python的for语句循环本质上就是通过调用Iterable可迭代对象的__iter()__方法获得一个Iterator迭代器对象,然后不断调用Iterator迭代器对象__next()__方法实现的。Iterator迭代器对象则是一个需要实现__iter__()和__next__()两个迭代器协议方法的对象。python中生成…上节内容说到Python的for语句循环本质上就是通过调用Iterable可迭代对象的__iter()__方法获得一个Iterator迭代器对象,然后不断调用Iterator迭代器对象__next()__方法实现的。Iterator迭代器对象则是一个需要实现__iter__()和__next__()两个迭代器协议方法的对象。python中生成器提供了一种方便的方法来实现迭代器协议而不需要必须实现__iter__()和__next__()两个迭代器协议方法。生成器的定义方式有两种一种是调用生成器函数一种是使用生成器表达式语法。调用生成器函数生成器函数是指在函数体中使用yield表达式仅返回结果的函数。yield表达式仅在定义生成器函数时使用因此只能用在函数定义的主体中。在函数体中使用yield表达式会使该函数成为生成器函数。当生成器函数被调用时它返回一个称为生成器的迭代器该迭代器由python自动生成。然后生成器控制了生成器函数的执行。因为返回的生成器是一个迭代器所以生成器函数的执行结果也就可以被循环。当生成器的的__next__方法被调用时生成器函数的函数体内的语句开始执行执行进行到第一个yield表达式时立即将yield表达式的结果返回给生成器的调用者同时将生成器函数内部的状态挂起。即保持生成器函数的执行进度和生成器函数内的局部状态包括局部变量的当前绑定指令指针内部计算栈和任何异常处理的状态。当生成器的再次调用__next__方法来时生成器函数恢复执行并再次执行到yield表达式返回结果再保持状态直到无法再执行到yield表达式。此时生成器自动抛出StopIteration异常。我们先定义一个简单生成器函数函数功能返回数字0-9的平方数# 生成器函数功能返回数字0-9的平方数 def squares():for i in range(10):yield i**2# 使用return关键字是普通函数使用yield关键字函数变成了生成器函数使用参数g接收调用生成器函数squares的结果然后分别在shell查看squares和g这两个变量的类型 g squares()#查看squares对象类型 squares#查看g对象类型 g从上面可以看出变量squares是函数类型变量g是generator类型对象generator从字面的理解上就是生成器类型。根据上一节迭代器中提到的知识从collection模块引入Iterator的抽象基类验证下generator类型是不是上面说的迭代器类型。 from collections import Iterator isinstance(g,Iterator)True验证成功说明生成器函数的执行结果确实是生成器一种特殊的迭代器。 for i in g:print (i)0149162536496481生成器表达式除了使用生成器函数可以得到生成器还可以生成器表达式得到生成器表达式。生成器表达式本身看起来像列表推到, 但不是用方括号而是用圆括号包围起来 g2 (x**2 for x in range(10)) g2 at 0x0359AFC0 t (1,2,3,4,5) g3 (x**2 for x in t) g3 at 0x007F6180验证 isinstance(g2,Iterator)True isinstance(g3,Iterator)True使用 for i in g2:print(i)0149162536496481 for i in g3:print(i)1491625和普通迭代器相比生成器不单简化了迭代器的定义还在使用效率上有提升。因为生成器在循环时生成器函数每次只会返回一个结果然后保持内部状态所以生成器占用的内存是很小的。以下两个测试结果第一个直接抛出MemoryError异常第二个只能正确计算出结果。# 全部数据先加载在1个列表上面内存占用高 s1 sum([i for i in range(100000000)])Traceback (most recent call last):File , line 1, in s1 sum([i for i in range(100000000)])File , line 1, in s1 sum([i for i in range(100000000)])MemoryError# 数据几乎不占内存 s2 sum((i for i in range(100000000))) s24999999950000000
http://www.pierceye.com/news/52062/

相关文章:

  • 个人卖货平台带seo服务的网站定制
  • 江西昌宇建设工程公司网站连云港做电商网站的公司
  • 中国林业工程建设协会网站龙华网站制作公司
  • 做dj音乐网站品牌网站建设内容
  • 成都武侯区建设局门户网站小鼠标网站建设
  • 福田网站建设价格做淘宝客的的网站有什么要求吗
  • 运动网站建设下做图软件在哪个网站下载
  • 字体设计灵感网站wordpress disqus
  • 天津宁河区建设网站淘宝网站后台怎么做
  • 昆明网站建设电话西安网站建设哪家好
  • 惠通网站建设美耐皿 技术支持 东莞网站建设
  • 常州网页定制seo服务加盟
  • 福州贸易公司网站制作青白江区建设局网站
  • 大连鼎信网站建设建设项目网站备案申请表
  • 青岛有做网站的吗网站建设公众
  • 休闲旅游网站建设南京网站制作电话
  • 做直播导航网站好wordpress背景图片插件
  • 网站平台建设及运营推广策划方案软件开发流程流程图
  • 怀安网站建设网页设计与制作思政微课
  • 糯米团网站怎么做网建天地小区是电力局的吗
  • 编程网站入口网站建设的技术问题
  • 创保网app下载资源优化网站排名
  • 中国建设银行山东省分行网站电子商务网站建设作业案例
  • 做彩票网站是违法wordpress文章设置某一级别可见
  • 平台网站模板建设网站最强
  • 建设银行软件官方网站下载小米官方网站开发版
  • 东莞网站系统后缀中国全球门户网站
  • 威海做网站哪家好专业网站开发哪家公司好
  • 门头沟做网站搜索引擎优化需要多少钱
  • 网站设计流行趋势做网站爱游戏