python 学习 D13 迭代器 生成器 列表推导式 生成器表达式
Posted HoneyCY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 学习 D13 迭代器 生成器 列表推导式 生成器表达式相关的知识,希望对你有一定的参考价值。
02,迭代器
可迭代对象:
内部含有__iter__ 遵循可迭代协议
dir 显示里面的所有方法 有 __iter__ 的方法就是 可迭代对象
# print(dir(‘123‘)) # ‘__iter__‘ # print(‘__iter__‘ in dir([1, 2, 3])) # print(‘__iter__‘ in dir({‘name‘:‘alex‘})) # print(‘__iter__‘ in dir({‘name‘})) # print(‘__iter__‘ in dir((1, 2, 3))) # print(‘__iter__‘ in dir(1)) # False # print(‘__iter__‘ in dir(True)) # False
迭代器:可迭代对象.__iter__()可以转换成迭代器 ,满足迭代器协议
内部含有__iter__且__next__
判断 __iter__ 在不在dir(对象中)
isinstance()
节省内存。
惰性机制。
单向不可逆。
for循环的机制:
while
pass
可迭代对象
迭代器
两者区别
模拟for循环机制
03,生成器
本质上是迭代器,用python代码构建的。
生成器定义
生成器的写法
yield
send
以上是关于python 学习 D13 迭代器 生成器 列表推导式 生成器表达式的主要内容,如果未能解决你的问题,请参考以下文章
python cookbook第三版学习笔记六:迭代器与生成器
从零开始的Python学习Episode 12——迭代器&生成器
python学习第四天,列表生产式,匿名函数,生成器,内置函数,迭代器,装饰器,json和pickle的序列化和反序列化