小白Python路上第一个难点,也是一个比较重要的点(闭包,迭代器,生成器)
2018-11-01 20:53
591 查看
一、闭包
闭包就是在内层函数中引用外层函数的变量
作用:1.保护变量不受侵害
2.让一个变量永驻内存
二、迭代器
Iterator:迭代器,包含_iter_()和_next_()函数
Iterable:可迭代的,只包含_iter_()
用while来演示for循环的实际流程
从迭代器中获取数据的唯一方法:_next_()
三个特征:1.省内存
2.惰性机制,不访问_next_(),就不会有值
3.只能往前,不能后退
三、生成器
生成器本质就是迭代器,有两种方式写生成器:1.生成器函数
2.生成器表达式
生成器函数:生成器函数内部有yield,yield相当于return,返回值
yield可以把函数分段执行
生成器函数被调用的时候,返回生成器
生成器的调用和迭代器基本一样,通过_next_()开始执行生成器,执行到yield,调用一次_next_()就执行一次到下一个yield,直到没有yield,抛出StopIteration。
生成器还可以用send()调用,并给上一个yield传值
特点:1.省内存
2.惰性机制,不访问_next_()就没值
3.只能往前
相关文章推荐
- python中的生成器、迭代器、装饰器、闭包
- magento -- 1.4.1.0新鲜出炉,第一个也是比较重要的改进简介
- EffectivePython-函数:闭包、生成器、迭代器协议
- python核心高级学习总结8------动态性、__slots__、生成器、迭代器、装饰、闭包
- python中迭代器、列表解析、生成器的分析比较
- Python迭代器与生成器基本用法分析
- Python的迭代器和生成器
- Python那些事——一个Python小白5个小时爬虫经历
- python迭代器和生成器
- 从Python小白到第一个小游戏发布
- python 生成器和迭代器
- python 迭代器与生成器 详解
- (python)创建一个可以比较的自定义类
- Python迭代器和生成器
- python迭代器与生成器详解
- 一张图明白python 生成器/迭代器/可迭代对象 之间的关系
- 2.7 学python 装饰器2 生成器 迭代器 模块time random
- python之迭代器和生成器
- Python:用迭代器和生成器降低程序内存占用率
- python基础之迭代器与生成器