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

交互式网站开发技术有哪些哈尔滨建设工程管理工资多少

交互式网站开发技术有哪些,哈尔滨建设工程管理工资多少,手机网站设计方案,政务网站建设模块目录1.生成器基本概念2.生成器的创建方式3.生成器的输出方式4.send()方法5.关闭生成器6.注意事项1.生成器基本概念 是一个特色的迭代器(迭代器的抽象层级更高)所以拥有迭代器的特性 惰性计算数据 节省内存 ----就是不是立马生成所有数据,而是…

目录

      • 1.生成器基本概念
      • 2.生成器的创建方式
      • 3.生成器的输出方式
      • 4.send()方法
      • 5.关闭生成器
      • 6.注意事项

1.生成器基本概念

  • 是一个特色的迭代器(迭代器的抽象层级更高)
  • 所以拥有迭代器的特性
    • 惰性计算数据 节省内存 ----就是不是立马生成所有数据,而是到需要数据的时候在生成
    • 能够记录状态 并通过next()函数,访问下一个状态
    • 具备可迭代特性
  • 自己编写一个迭代器,比较复杂,需要实现很多方法,所以,就有了一个生产器

2.生成器的创建方式

  • 方式一
    • 生成器表达式 把列表推导式的[]修改成()
  • 方式二
    • 生成器函数 函数中包含yield语句,这个函数的执行结构就是“生成器”
#列表推导式  方式一
l = [i for i in range(1,100) if i % 2 == 0]
#生成 1-100之间的偶数组成的列表
#此时的列表推导式 是一次性生成所有的数据,如果使用生成器就不是一次性生成所有数据,而是等到使用的时候才会创建。
print(l)#输出 2 4 6 8 .....#生成器
l = (i for i in range(1,100) if i % 2 == 0)
print(l)#输出<generator object <genexpr> at 0x000001B0DA075700>
#此时不会直接生成数据
#只有使用 next()才可以访问
print(next(l))#输出2
print(next(l))#输出4
#也可以使用 for  in 循环访问#生成器函数
def test():print("xxx")yield 1print("a")yield 2print("b")yield 3print("c")yield 4print("d")
g = test()#此时test函数没有被执行 
print(g)#输出 <generator object test at 0x000002698C3B4A00>
print(next(g))# xxx 1
print(next(g))#a  2
#test函数形成一个生成器(迭代器),每次执行都到yield停止,并返回 yield 后面的数据

3.生成器的输出方式

  • 生成器具备迭代器的特性
  • 使用next()函数 等价于 生成器._ next _ ()
  • for in

4.send()方法

  • send方法有一个参数,指定的是上一次被挂起的yield语句的返回值
  • 相比于 . _ next _() 可以额外的给yield语句传值
  • 注意第一次调用 t.send(None)
def test():print("XXX")res1 = yield 1print(res1)res2 = yield 2print(res2)res3 = yield 3print(res3)
g = test()
print(g.__next__())#输出 XXX 1
print(g.__next__())#输出 None 2 此时的None是res1没有接收到数据 因为上一次走到yield 就停止了 res1没有接收数据
print(g.send("ooo"))#输出 ooo 3

5.关闭生成器

  • g.close()
  • 后续如果继续调用,会抛出StopIteration异常提示
def test():yield 1print("a")yield 2print("b")yield 3print("c")
g = test()
print(g.__next__())#输出 1
print(g.__next__())#输出 a 2
print(g.__next__())#输出 b 3
print(g.__next__())#输出 c
print(g.__next__())#输出 报错 StopIteration#如果是这样
print(g.__next__())#输出 1
print(g.__next__())#输出 a 2
g.close()
print(g.__next__())#输出 报错 StopIteration

6.注意事项

  • 如果碰到return 会直接终止,抛出StopIteration异常
  • 生产器只会遍历一次
http://www.yayakq.cn/news/566220/

相关文章:

  • 邢台做移动网站公司电话号码在线免费网站模板
  • 长沙百度网站推广wordpress 增加 专题
  • 怎样做动漫照片下载网站科技有限公司名称大全
  • 单本小说网站百度灰色关键词技术
  • 哪里有网站建设多少钱网页制作与设计属于什么专业
  • 网站空间商怎么做电商网站建设费用预算
  • 购物平台有哪些比较火seo网站推广怎样
  • 石家庄网站制作公司哪家好郑州网站开发hndlwx
  • 写出网站开发的基本流程南宁建站平台
  • 网站建站后维护需要做哪些商品热搜词排行榜
  • 好看的网站设计人性本私wordpress
  • 网站文章更新潍坊作风建设网站
  • 怎样优化手机网站免费建站平台
  • 企业网站平台建设咨询合同wordpress怎么做seo关键词
  • 网上商城网站系统网站资源做缓存
  • 品牌网站源码asp网站建设公司线下推广
  • 做外贸比较好的网站山东省工程建设造价信息网站
  • sap和国家网站做接口网站转小程序工具
  • 网站开发数据库速度解决方法建设厅投诉网站
  • 玉田县建设工程招标网站网站建设Z亿玛酷1流量订制
  • 网站建设和维护费怎么摊销游戏代理
  • 品牌网站建设 app建设建设标准 免费下载网站
  • 黄冈网站推广在线观看网站开发有前途
  • 芜湖做的好的招聘网站自己做小程序商城
  • 如何做好网站seo推广方案怎么写模板
  • 网站建设前台和后台设计拍摄宣传片制作公司
  • 单位网站的作用系统开发是什么
  • 建设安全备案登入那个网站建设网站读什么专业
  • 中城投建设集团网站招聘广告模板
  • 触摸屏html网站wordpress模板主题实例实战教程