python yield
程序员文章站
2022-05-02 07:49:18
def task(): print('start') yield hello('dufeixiang') #阻塞当前函数运行而运行另外一个函数,另一个函数中可以再返回当程序最后阻塞的地方继续运行。def hello(name): print(name)task() task().__next__() ......
def task():
print('start')
yield hello('dufeixiang') #阻塞当前函数运行而运行另外一个函数,另一个函数中可以再返回当程序最后阻塞的地方继续运行。
def hello(name):
print(name)
task()
task().__next__()
-------------------------------------------------------------------------------------
def task1():
while true:
name=yield #接收来自 send的值
print('name is',name)
def task2():
for i in range(2):
a=task1()
a.__next__() #必须next 方式启动迭代器
a.send(i) #将值传送到上次yield中断的地方,并从上次中断的地方开始运行
task2()
当以个函数中使用了yield后函数就成了一个迭代器,就具有了__netxt__()方法.
上一篇: Thymeleaf循环时 带上序号