python中关于yeild关键字的用法

首先 yeild之前要充分理解生成器这个东西 ,通常的,一个数组或者一个list的循环很好理解,而在python中无论是什么对象都可以将其循环,

L = [x * x for x in range(5)]
print(L)

上面这段代码生成了一个list对象,它的输出为

[0, 1, 4, 9, 16]

可以看到这是一个普通的list对象,然后使用python的生成器将其变成一个生成器对象(把中括号换成括号)

L = (x * x for x in range(5))

print(L)
#下面是输出
<generator object <genexpr> at 0x000002C6DECDD048>

可以看出现在这个已经是一个生成器对象了,之后使用使用这个生成器去输出里面的内容了

 在我的理解里 ,yeild就是使用了生成器机制的语法,使用了yeild,这个函数就会变成可迭代对象,yeild就是返回每一次迭代的结果(相当于return),

  值得注意是yield返回之后,再次循环进入之后,会从上次退出的地方进入

posted @ 2018-07-20 15:14  qunincey  阅读(1242)  评论(0编辑  收藏  举报