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

个人建站什么网站好淘宝商城网站建设

个人建站什么网站好,淘宝商城网站建设,网站建设个人年终总结,wordpress登录后回到指定的页面菜鸟教程《Python 3 教程》笔记#xff08;13#xff09; 13 迭代器与生成器13.1 迭代器13.1.1 创建一个迭代器13.1.2 StopIteration 13.2 生成器13.3 yield 使用浅析13.3.1 通过 iterable 对象来迭代13.3.2 使用 isgeneratorfunction 判断13.3.3 类的定义和类的实例13.3.4 r… 菜鸟教程《Python 3 教程》笔记13 13 迭代器与生成器13.1 迭代器13.1.1 创建一个迭代器13.1.2 StopIteration 13.2 生成器13.3 yield 使用浅析13.3.1 通过 iterable 对象来迭代13.3.2 使用 isgeneratorfunction 判断13.3.3 类的定义和类的实例13.3.4 return 的作用13.3.5 另一个 yield 的例子 13 迭代器与生成器 出处 菜鸟教程 - Python3 迭代器与生成器 13.1 迭代器 迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法iter() 和 next()。 字符串列表或元组对象都可用于创建迭代器 list [1, 2, 3, 4]it iter(list) # 创建迭代器对象print (next(it)) # 输出迭代器的下一个元素 1print (next(it)) 213.1.1 创建一个迭代器 把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。 __iter__() 方法返回一个特殊的迭代器对象 这个迭代器对象实现了 __next__() 方法并通过 StopIteration 异常标识迭代的完成。 __next__() 方法会返回下一个迭代器对象。 class MyNumbers:def __iter__(self):self.a 1return selfdef __next__(self):x self.aself.a 1return xmyclass MyNumbers() myiter iter(myclass)print(next(myiter)) # 1 print(next(myiter)) # 2print(type(myclass)) # class __main__.MyNumbers print(type(myiter)) # class __main__.MyNumbers print(myclass is myiter) # True print(next(myclass)) # 1 print(next(myclass)) # 213.1.2 StopIteration StopIteration 异常用于标识迭代的完成防止出现无限循环的情况在 next() 方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代。 class MyNumbers:def __iter__(self):self.a 1return selfdef __next__(self):if self.a 20:x self.aself.a 1return xelse:raise StopIteration13.2 生成器 在 Python 中使用了 yield 的函数被称为生成器generator。 yield 是一个关键字用于定义生成器函数生成器函数是一种特殊的函数可以在迭代过程中逐步产生值而不是一次性返回所有结果。 跟普通函数不同的是生成器是一个返回迭代器的函数只能用于迭代操作更简单点理解生成器就是一个迭代器。 def countdown(n):while n 0:yield nn - 1# 创建生成器对象 generator countdown(5)# 通过迭代生成器获取值 print(next(generator)) # 输出: 5 print(next(generator)) # 输出: 4 print(next(generator)) # 输出: 3# 使用 for 循环迭代生成器 for value in generator:print(value) # 输出: 2 113.3 yield 使用浅析 出处 菜鸟教程 - Python yield 使用浅析 13.3.1 通过 iterable 对象来迭代 在 python 2 中range() 为 list 对象会生成 listxrange() 为 iterable 对象。在 python 3 中range() 和 xrange() 合并了。 13.3.2 使用 isgeneratorfunction 判断 可以利用 isgeneratorfunction 判断一个函数是否是一个特殊的 generator 函数。 def fab(max): n, a, b 0, 0, 1 while n max: yield b # 使用 yielda, b b, a b n n 1from inspect import isgeneratorfunction print(isgeneratorfunction(fab)) # True13.3.3 类的定义和类的实例 fab 是一个 generator function而 fab(5) 是调用 fab 返回的一个 generator好比类的定义和类的实例的区别 import types print(isinstance(fab, types.GeneratorType)) # False print(isinstance(fab(5), types.GeneratorType)) # Truefab 是无法迭代的而 fab(5) 是可迭代的 from collections import Iterable print(isinstance(fab, Iterable)) # False print(isinstance(fab(5), Iterable)) # True13.3.4 return 的作用 在一个 generator function 中如果没有 return则默认执行至函数完毕如果在执行过程中 return则直接抛出 StopIteration 终止迭代。 13.3.5 另一个 yield 的例子 另一个 yield 的例子来源于文件读取。如果直接对文件对象调用 read() 方法会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。通过 yield我们不再需要编写读文件的迭代类就可以轻松实现文件读取。 def read_file(fpath): BLOCK_SIZE 1024 with open(fpath, rb) as f: while True: block f.read(BLOCK_SIZE) if block: yield block else: return
http://www.ho-use.cn/article/10817643.html

相关文章:

  • 连江福州网站建设深圳建网站三千
  • 如何知道别人的网站流量来自于哪里wordpress 跳转 微信
  • 设计网站最重要的是要有良好的无备案网站广告如何做
  • 开网站做网站seo入门黑帽培训教程
  • 怎么申请信用卡收款网站接口海报在线生成
  • 沈阳网站设计价格哈尔滨h5建站模板
  • 电子商务网站建设 课件某某公司网络营销策划书
  • 网站项目综合设计作业 代做做网站买服务器怎么样
  • 做网站推广汉狮网络百度智能建站适合优化吗
  • 网站如何盈利福建网站开发企业
  • 贷款网站织梦模板源码交互式网站开发技术有哪些
  • iis7添加php网站页面设计作品
  • 县电子政务办网站建设工作思路图片做视频在线观看网站
  • 海外仓网站建设怎么做网页会议邀请函
  • 湘潭学校网站建设 磐石网络第一怎么做自己的cpa网站
  • 可以建微信网站的深圳福田最新消息今天
  • 做的最好自考网站是哪个球类网站如何做宣传
  • 网站域名维护wordpress主题怎么改
  • 网站设计器wordpress为文章添加下载按钮
  • 网站ns记录个人备案网站做app
  • 浙江省建设会计协会网站泾阳县建设局网站
  • 营销型网站建设公司哪家好邯郸企业网站建设
  • 交易所网站开发实战重庆工商大学
  • 衡水网站建设浩森宇特视觉设计师前景
  • 大连企业网站建设模板宁波网站推广怎么做
  • 潍坊高端网站建设价格西安seo平台
  • 外贸建站及推广成都做小程序的开发公司
  • 网站建设征集通讯员的通知郑州网络营销网站优化
  • 网站修改联系方式网站建设裕鸿国际
  • c s网站开发模式网站上做商城可用同一域名