- 在线时间
- 4 小时
- 最后登录
- 2015-5-5
- 注册时间
- 2015-4-8
- 听众数
- 9
- 收听数
- 0
- 能力
- 0 分
- 体力
- 86 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 38
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 22
- 主题
- 12
- 精华
- 0
- 分享
- 0
- 好友
- 3
升级   34.74% TA的每日心情 | 慵懒 2015-5-5 09:35 |
|---|
签到天数: 10 天 [LV.3]偶尔看看II
- 自我介绍
- sdc
 |
Python的生成器语法,会返回一个生成器对象,而用iter()函数,也能返回一个带有next()方法的可迭代对象,这样的话··按照我下面的写法,2者会有什么区别吗?如果一样,那生成器岂不是没用了?(所以·····) 0 n" i- \0 N5 n! |
4 U! e1 L% G" U! v$ E* C" s5 p5 s3 pdef createGenerator() :
% w5 _1 u2 u7 q% F$ l# }$ R( n mylist = range(10)
3 K4 h. E3 D" M+ z% P6 r5 F1 x/ {/ G! q# m
for i in mylist :
; X$ O! f1 v2 l- ^. ^' @# T8 i6 W yield i*i
; q, U5 F1 m; b& n0 Y% p/ U( ~- @0 y. Z& m
mygenerator = createGenerator() # create a generator * a7 U/ R4 r2 G/ e
print mygenerator ; A Z3 i+ ~, v8 T. q- o _
6 m6 e8 }& c3 Z* _; jdef createIterator() : ! m* l( V W# ^$ H/ k* r4 y+ m# m, D6 }: H
mylist = range(10) 7 y* X1 H7 v4 L6 f; _0 T& k
, ~( x8 }' ?7 f' \5 f' x9 q# T6 |
return iter([i * i for i in mylist]) 8 x3 ]1 P0 a$ v9 A2 H2 g; y
0 @5 I7 a: r! ]2 Pmyiterator = createIterator() 3 Y. D, v! r" g+ b9 Y9 r9 H
print myiterator
5 b" { G* @. b$ \9 m0 H' {- U+ H3 r' ~+ L9 ~! w: p
|
zan
|