python之迭代器,生成器,递归等归纳

可迭代的对象:python中凡是具有__iter__魔法属性的对象便是可迭代对象。在python中,凡是能够遍历的对象都是可迭代的。一般有list,set, dict,char ,tuple,range。可迭代的对象通过iter函数包装便是迭代器。

迭代器:对象具有__iter__和__next__属性的对象是迭代器。迭代器可以通过next函数访问下一个元素

递归:在函数里不断调用自身的过程。但由于递归时,重复调用自身,需要临时保存中间值,导致占用内存较多,不建议使用。递归过程中一定会用到迭代,并需要保存中间值。

迭代器:凡是能够迭代的,并能够通过next产生下一元素的对象即迭代器。由于迭代器不断通过next产生数据,并不保存一系列的数据。不是通过保存一系列数据,
并逐个调取,因此执行速度较快,与递归大大相反。

生成器:是一种特殊的迭代器,凡是函数中有yield关键字,便是生成器。生成器的最大特点是:1.控制函数的运行过程 2.逐一生成数据,节约内存资源

定义一个迭代器:

a=[1,5,10]

b=iter(a) #b便成为一个迭代器

print(next(b))#通过next函数可以逐个获得a中的数据

原文地址:https://www.cnblogs.com/xuehaiwuya0000/p/10891491.html