小白Python路上第一个难点,也是一个比较重要的点(闭包,迭代器,生成器)
Posted W的一天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白Python路上第一个难点,也是一个比较重要的点(闭包,迭代器,生成器)相关的知识,希望对你有一定的参考价值。
一、闭包
闭包就是在内层函数中引用外层函数的变量
作用: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路上第一个难点,也是一个比较重要的点(闭包,迭代器,生成器)的主要内容,如果未能解决你的问题,请参考以下文章