赞
踩
打个比方的话,yield有点像断点。 加了yield的函数,每次执行到有yield的时候,会返回yield后面的值 并且函数会暂停,直到下次调用或迭代终止;
yield后面可以加多个数值(可以是任意类型),但返回的值是元组类型的。
def get(): m = 0 n = 2 l = ['s',1,3] k = {1:1,2:2} p = ('2','s','t') while True: m += 1 yield m yield m ,n ,l ,k ,p it = get() print(next(it)) #1 print(next(it)) #(1, 2, ['s', 1, 3], {1: 1, 2: 2}, ('2', 's', 't')) print(next(it)) #2 print(type(next(it))) #<class 'tuple'>
转自:https://www.runoob.com/python3/python3-iterator-generator.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。