Generator函数里的语句yield和retrun操作中有什么区别?不都是返回数据项吗?
1条回答 默认 最新
於黾 2022-12-22 09:23关注return直接返回了,函数就结束了
而yield是将返回值add进一个迭代器里
循环还是继续走的
而且这里跟你自己建个list然后把值add进去再return不同
yield神奇的地方在于它是异步的,它一边动态的往迭代器里放数据,你同时就可以遍历打印,等函数执行完也打印完了,而return要等函数彻底走完一起返回所有的数据,在这之前整个是个假死的状态,然后突然所有的数据一起冒出来解决 无用评论 打赏 举报 编辑记录