gj9 迭代器和生成器
9.1 python的迭代协议
list内部实现了__iter__()协议(魔法函数),是可迭代对象,但还不是迭代器(迭代器需要实现__next__协议)
生成器实现了__iter__(),__next__()协议,因此是迭代器。但迭代器不一定是生成器(不具有生成器的方法协议)
#什么是迭代协议
#迭代器是什么? 迭代器是访问集合内元素的一种方式, 一般用来遍历数据
#迭代器和以下标的访问方式不一样, 迭代器是不能返回的, 迭代器提供了一种惰性方式数据的方式
#[] list , __iter__ from collections.abc import Iterable, Iterator
a = [1,2]
iter_rator = iter(a)
print (isinstance(a, Iterable))
print (isinstance(a, Iterator))
print (isinstance(iter_rator, Iterator)) ---
True
False
True
9.2 什么是迭代器和可迭代对象
from collections.abc import Iterator
class Company(object):
def __init__(self, employee_list):
self.employee = employee_list def __iter__(self): # 可迭代对象,实现了__iter__
return MyIterator(self.employee) # iter(可迭代对象) 方法 会调用反回迭代器 # def __getitem__(self, item): # 当没有定义__iter__协议for循环就会将定义的getitem变成迭代器
# return self.employee[item] # 退化为迭代器 # 可迭代对象不要去实现__next__ class MyIterator(Iterator): # 迭代器 实现了__next__
def __init__(self, employee_list):
self.iter_list = employee_list
self.index = 0 def __next__(self):
#真正返回迭代值的逻辑 #实现原理
try:
word = self.iter_list[self.index]
except IndexError:
raise StopIteration
self.index += 1
return word if __name__ == "__main__":
company = Company(["tom", "bob", "jane"])
my_itor = iter(company) for item in company:
print (item) # ---
tom
bob
jane
9.3 生成器函数使用
#生成器函数,函数里只要有yield关键字
def gen_func():
yield 1
yield 2
yield 3 def func():
return 1 if __name__ == "__main__":
#生成器对象, python编译字节码的时候就产生了,
gen = gen_func() # <generator object gen_func at 0x000001CD083334F8>
print(gen)
for value in gen:
print (value) # ---
<generator object gen_func at 0x000001CD08333570>
1
2
3
# ---
# 斐波拉契 0 1 1 2 3 5 8
# 惰性求值, 延迟求值提供了可能 def fib(index): # 第几个数
if index <= 2:
return 1
else:
return fib(index-1) + fib(index-2) def fib2(index): # 打印前几个数
re_list = []
n,a,b = 0,0,1
while n<index:
re_list.append(b)
a,b = b, a+b
n += 1
return re_list
print(fib(10))
print(fib2(10))
# ---
55
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
# --- def gen_fib(index):
n,a,b = 0,0,1
while n<index:
yield b
a,b = b, a+b
n += 1 for data in gen_fib(10):
print (data) # ---
1
1
2
3
5
8
13
21
34
55
9.4 生成器的原理
#1.python中函数的工作原理 def foo():
bar()
def bar():
pass #python.exe会用一个叫做 PyEval_EvalFramEx(c函数)去执行foo函数, 首先会创建一个栈帧(stack frame)
"""
python一切皆对象,栈帧对象, 字节码对象
当foo调用子函数 bar, 又会创建一个栈帧
所有的栈帧都是分配在堆内存上,这就决定了栈帧可以独立于调用者存在
"""
import dis
print(dis.dis(foo))
#---
5 0 LOAD_GLOBAL 0 (bar)
2 CALL_FUNCTION 0
4 POP_TOP
6 LOAD_CONST 0 (None)
8 RETURN_VALUE
None
#--- import inspect
frame = None
def foo():
bar()
def bar():
global frame
frame = inspect.currentframe() foo()
print(frame.f_code.co_name) #栈针
caller_frame = frame.f_back # 调用他的栈针
print(caller_frame.f_code.co_name) # ---
bar
foo
def gen_func():
yield 1
name = "lewen"
yield 2
age = 30
return "imooc" import dis
gen = gen_func()
print (dis.dis(gen)) # ---
2 0 LOAD_CONST 1 (1)
2 YIELD_VALUE
4 POP_TOP 3 6 LOAD_CONST 2 ('lewen')
8 STORE_FAST 0 (name) 4 10 LOAD_CONST 3 (2)
12 YIELD_VALUE
14 POP_TOP 5 16 LOAD_CONST 4 (30)
18 STORE_FAST 1 (age) 6 20 LOAD_CONST 5 ('imooc')
22 RETURN_VALUE
None
# --- print(gen.gi_frame.f_lasti)
print(gen.gi_frame.f_locals)
next(gen)
print(gen.gi_frame.f_lasti)
print(gen.gi_frame.f_locals)
next(gen)
print(gen.gi_frame.f_lasti)
print(gen.gi_frame.f_locals) # ---
-1
{}
2
{}
12
{'name': 'lewen'}
9.5 通过UserList来看生成器的应用
from collections import UserList # 用Python实现的list
9.6 生成器实现大文件读取
# 500G, 特殊 全部在 一行,由特殊分割符分割
# 一次性读取太大,按分隔符读取
def myreadlines(f, newline):
buf = "" # 缓存
while True:
while newline in buf:
pos = buf.index(newline)
yield buf[:pos] # 将第一个分隔符之前的数据yield 出去
buf = buf[pos + len(newline):] # 丢弃掉yield的数据,如果buf中还有分隔符就继续处理,
chunk = f.read(4096) # 没有就继续读新的4096个字节 if not chunk:
# 说明已经读到了文件结尾
yield buf
break
buf += chunk with open("input.txt") as f:
for line in myreadlines(f, "{|}"):
print(line)
aaarticlea/png;base64,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" alt="" width="795" height="160" />
gj9 迭代器和生成器的更多相关文章
- Python 从零学起(纯基础) 笔记 之 迭代器、生成器和修饰器
Python的迭代器. 生成器和修饰器 1. 迭代器是访问集合元素的一种方式,从第一个到最后,只许前进不许后退. 优点:不要求事先准备好整个迭代过程中的所有元素,仅仅在迭代到某个元素时才计算该元素,而 ...
- Python之模块,迭代器与生成器
本节涉及内容: 1. 迭代器和生成器 2. 递归 3. 字符串格式化 4. 模块 内置模块 自定义模块 第三方模块 5. 序列化的模块 json pickle (一). 迭代器和生成器: 迭代器: ...
- Python之迭代器和生成器
Python 迭代器和生成器 迭代器 Python中的迭代器为类序列对象(sequence-like objects)提供了一个类序列的接口,迭代器不仅可以对序列对象(string.list.tupl ...
- python学习笔记四 迭代器,生成器,装饰器(基础篇)
迭代器 __iter__方法返回一个迭代器,它是具有__next__方法的对象.在调用__next__方法时,迭代器会返回它的下一个值,若__next__方法调用迭代器 没有值返回,就会引发一个Sto ...
- 【Python】迭代器、生成器、yield单线程异步并发实现详解
转自http://blog.itpub.net/29018063/viewspace-2079767 大家在学习python开发时可能经常对迭代器.生成器.yield关键字用法有所疑惑,在这篇文章将从 ...
- 15.python的for循环与迭代器、生成器
在前面学习讲完while循环之后,现在终于要将for循环这个坑填上了.之所以拖到现在是因为for循环对前面讲过的序列.字典.集合都是有效的,讲完前面的内容再来讲for循环会更加容易上手. 首先,for ...
- Python: 迭代器与生成器小结
迭代器与生成器的区别: 1. 迭代器由Class对象创建. 生成器由包含yield表达的Function对象或者Generator Expression创建. 2. 迭代器的原理: (1)由Itera ...
- Python中的迭代器和生成器
本文以实例详解了python的迭代器与生成器,具体如下所示: 1. 迭代器概述: 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...
- Python可迭代对象、迭代器和生成器
Python可迭代对象.迭代器和生成器 python 函数 表达式 序列 count utf-8 云栖征文 python可迭代对象 python迭代器 python生成器 摘要: 8.1 可迭代对象( ...
随机推荐
- jquery formValidator 表单验证插件, ajax无法传值到后台问题的解决
今天使用jquery formValidator-4.0.1 这个插件做表单验证, 前台验证已写好, 准备写ajax验证, 结果无法把值传到后台 .ajaxValidator({ url : & ...
- jdk5新特性
前两天看到jdk10试用版都出来了,才发现自己连1.8都没用过,对不同版本的jdk的新特性也不是太了解,所以想还是百度一下看看人家怎么说然后自己记录总结一下,其中jdk1.8的新特性可以到edu.51 ...
- FileOperator 文件(夹)操作类
public class FileOperator { /** * 复制文件目录 * @param srcDir 要复制的源目录 eg:/mnt/sdcard/DB * @param destDir ...
- Scala语言学习笔记(4)
高阶函数 // 高阶函数 map val salaries = Seq(20000, 70000, 40000) val doubleSalary = (x: Int) => x * 2 val ...
- Spring Boot中启动HTTPS
一,生成https 的证书 1,在相应的根目录下 keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize -keyst ...
- js中定时器之一
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Beta分布(转)
背景 在Machine Learning中,有一个很常见的概率分布叫做Beta Distribution: 同时,你可能也见过Dirichelet Distribution: 那么Beta Distr ...
- Java8 Stream语法详解 2
1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...
- easypanel api 文档
easypanel api 文档 Easypanel的api通信安全码在easypanel的服务器设置处设置. 接口名称有: add_vh 创建空间和修改空间 update_vh 暂停空间和恢复空间 ...
- 使用UUID方法生成全球唯一标识
需要生成唯一字符串,如生成应用标识等,可以直接用java.util.UUID类实现. UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字, ...