小白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路上第一个难点,也是一个比较重要的点(闭包,迭代器,生成器)的主要内容,如果未能解决你的问题,请参考以下文章

Python编程小白的第一本python(循环与判断)

# 运维小白的成长日记第一天-TCP/IP协议

《Python从小白到大牛》第5章 Python编码规范

网络流24题——魔术球问题 luogu 2765

零基础Python学习路线,小白的进阶之路!

零基础Python学习路线,小白的进阶之路!