码迷,mamicode.com
首页 > 编程语言 > 详细

小白Python路上第一个难点,也是一个比较重要的点(闭包,迭代器,生成器)

时间:2018-11-01 22:34:50      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:pytho   生成器   ble   特点   分段   inf   小白   style   重要   

一、闭包

  闭包就是在内层函数中引用外层函数的变量

  技术分享图片

  作用: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路上第一个难点,也是一个比较重要的点(闭包,迭代器,生成器)

标签:pytho   生成器   ble   特点   分段   inf   小白   style   重要   

原文地址:https://www.cnblogs.com/12345huangchun/p/9892429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!