python中的闭包,迭代器.

Posted DESOLATE.X

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的闭包,迭代器.相关的知识,希望对你有一定的参考价值。

1.函数名的使用和第一类对象

1.函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数

第一类对象->函数名->变量名

  函数对象可以像变量一样进行赋值

  还可以作为列表的元素进行使用

  可以作为返回值返回

  可以作为参数进行传递

闭包-> 函数的嵌套

  内层函数对外层函数中的变量的使用

  好处:

  1.保护变量不被侵害

  2.让一个变量常驻内存

  通过代码查看一个闭包:

  

_closure_来检测是否闭包,返回cell就是闭包,返回none就不是闭包

迭代器

  一个数据类型中包含了_iter_函数表示这个数据是可迭代的

  dier(数据):返回这个数据可以执行的所有操作

  判断迭代器和可迭代对象的方案

  _iter_函数判断可迭代的

  _iter_  _next_ 迭代器

 

  官方的判断迭代器的方法是用

 

from collections immport Iterable ,Iterator
isinstance(对象,Iterable)是否是可迭代的
isinstance(对象,iterator)是否是迭代器

模拟for循环
lst= []
it = lst._iter_()
while 1:
    try:
        it._next_()
    except StopIteration:
        break

特征:
    1.省内存
    2.惰性机制 
    3.只能向前,不能后退

 

以上是关于python中的闭包,迭代器.的主要内容,如果未能解决你的问题,请参考以下文章

Python核心2(迭代器闭包装饰器生成器)

python基础之闭包与迭代器

python 闭包和迭代器

Python核心编程的四大神兽:迭代器生成器闭包以及装饰器

python装饰器迭代器生成器闭包等等

python之函数闭包可迭代对象和迭代器