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

python基础之迭代器和生成器

时间:2017-04-11 16:27:44      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:tran   cap   ada   padding   footer   free   section   important   video   

迭代器

作用:不依靠索引遍历,可遍历无索引对象

特性:分批次取值,比有索引对象更节省内存


缺点:无法获取迭代器的长度

    使用不如列表索引灵活

    一次性的,只能从头到尾取值


判断:只要本身有__iter__方法,就是可迭代的




try :               #异常退出,for 循环自带检测

    dadada

except StopIteration:

    break

生成器

简单定义:生成器就是一个函数 包含 yield 语句

特性:分步运行函数,能够保存函数当前状态

与return的区别 :return 只能返回一次,yield可以返回多次值

yield

把函数变成生成器(生成器本身也是迭代器)

用yield 可以返回多次

函数在暂停以及下一次继续下一次运行状态有yield保存

python基础之迭代器和生成器

标签:tran   cap   ada   padding   footer   free   section   important   video   

原文地址:http://www.cnblogs.com/kimyeee/p/6694063.html

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