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

Python 学习第三天

时间:2017-08-07 01:32:23      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:item   str   集合   没有   判断   执行   ext   pass   返回   

列表生成式 List Comprehensions
[要生成的元素x for循环x if判断]
[要生成的元素x,y for循环x for循环y]
[key+‘=‘+‘value‘ for key,value in dict.items() ]

isinstance(x,type); 判断变量类型
pass语句来占位 并没有什么卵用

生成器generator 一边循环一边计算的机制 generator保存的是算法
L = [x for x in range(0,11) if x%2 == 0]
将列表生成式的"[]"改为"()"即为生成器
L = (x for x in range(0,11) if x%2 ==0 );
generator查看数据需要使用next(x);每执行一次 就可以得到一个数据 或使用for迭代

如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator。

函数和generator函数不同
函数是顺序执行 到最后一行或遇return就返回
generator函数在每次调用next()时执行 遇到yield语句返回 再次执行时从上次返回的yield语句处执行

迭代器Iterator 可以被next()函数调用并不断返回下一个值的对象称为迭代器
iter()函数可使list,dict,str等变成Iterator对象

凡是可作用于for循环的对象都是Iterable类型;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。

Python 学习第三天

标签:item   str   集合   没有   判断   执行   ext   pass   返回   

原文地址:http://www.cnblogs.com/lxai/p/7296584.html

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