对yield的测试结果:
- 打个比方的话,yield有点像断点。 加了yield的函数,每次执行到有yield的时候,会返回yield后面的值 并且函数会暂停,直到下次调用或迭代终止;
- yield后面可以加多个数值(可以是任意类型),但返回的值是元组类型的。
defget():
m =0
n =2
l =['s',1,3]
k ={1:1,2:2}
p =('2','s','t')
whileTrue:
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'>