1、yield
在yied出进行返回, 下次调用yield时会继续当前位置进行
def foo():
print("test yield...")
while True:
res = yield 4
print("res:{}".format(res))
g = foo()
print(next(g))
print("-*-"*20)
print(g.send(9))
print(next(g))
输出:
test yield...
4
-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-
res:9
4
res:None
4
2.next()
next(iterobject,default)迭代器
it = iter([1,2,3,4,5])
def foo_next():
while True:
try:
x = next(it)
print("x:{}".format(x))
except StopIteration:
break
foo_next()
输出:
x:1
x:2
x:3
x:4
x:5