- 在线时间
- 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者会有什么区别吗?如果一样,那生成器岂不是没用了?(所以·····)
1 B( p1 t' O& q7 q; {3 p
" X: c# H, `" Pdef createGenerator() :
$ E, S: |! P6 L9 Z7 b/ G K6 J; K2 o mylist = range(10)
/ n: u4 a% O; d$ P
& U5 M) e- ?. U6 R$ _ for i in mylist : ' ^# S4 T8 b- b. h b- i, ~
yield i*i
7 A9 B" X7 ^$ K$ Q
6 T8 b4 ^) s0 o2 _* Q% i- ?; Wmygenerator = createGenerator() # create a generator
( S1 y* e: ^. d i' }. H2 Z( @1 J6 g5 |# mprint mygenerator : P& P5 v+ `' f9 K
) ^; d$ h9 P& O% Xdef createIterator() :
! E$ `/ r7 ]- a$ X" C. Y# J mylist = range(10) 4 C1 d3 |' R, a: a- S/ O
. Q$ k! f* w/ U$ n$ a return iter([i * i for i in mylist])
- b1 e) V/ A1 z2 @' o5 ~4 Z7 v, f1 _" A( ~, u- T; P8 J
myiterator = createIterator()
# Z5 h# ~1 {) `print myiterator d- V( A n0 U/ U
; {% {) m$ ~5 N, R# Y
|
zan
|