零基础学python生成器generater全解

 时间:2024-10-12 15:27:40

1、from collections import Iterable, Iterator # 引入包# 将列表生成式的方括号改成圆括号,返回结果就不是列表了,而是一个生成器。g = (i for i in range(10))print(g)

零基础学python生成器generater全解

2、print(isinstance(g, Iterator)) # 生成器属于迭代器。print(isinstan艘早祓胂ce(g, Iterable)) # 生成器属于可迭代对象。print(isinstance('good', Iterator)) # 字符串等容器属于可迭代对象,但是不属于迭代器。

零基础学python生成器generater全解

3、# 生成器每次被访问都会记录自己被访问的位置next(g) # 通过next()访问生成器中的下一个元素print(next(g))

零基础学python生成器generater全解

4、# for-in遍历生成器会直接从记录的位置访问到最后for i in g: print(i, end=' ')print()

零基础学python生成器generater全解

5、# next(g) # 访问到最后一个,就不能在访问了,否则崩溃g = (i for i in range(10))# 使用next()访问生成器中特定数量的数据# 生成器,访问一个加载一个,不访问不加载:俗称懒加载或惰性加载。for i in range(6): print(next(g))

零基础学python生成器generater全解

6、# 利用函数创建生成器def back_genarator(n): print(111111) for i in range(n+1): print(2222222) yield i print(3333333)

零基础学python生成器generater全解

7、# 生成器记录的是算法规则,依次加载# 调用next()才开始执行生成器粝简肯惧内部的代码,每调用一次next,代码会走到yield,将结果抛出,然后代码暂停# 如果已经访问到最后一个yield,就代码生成器结束了,不能再次调用next()g = back_genarator(3)print(next(g))print(next(g))

零基础学python生成器generater全解
  • 怎样在tkinter编程中的pack方法中使用fill?
  • 如何设置PyCharm中代码对齐竖线的显示和隐藏
  • myeclipse配置tomcat总是有问题(放大招)
  • 怎样使用vs新建一个webform项目
  • 使用jQuery插入一个新的div
  • 热门搜索
    青春手抄报图片 感恩父母手抄报大图 关于书的手抄报内容 环保的手抄报图片 简单英语手抄报图片 关于地球的手抄报 格列佛游记手抄报 一年级手抄报内容 道德手抄报 关于孝的手抄报内容