我已经读到yield
是一个生成器,但是由于以下函数的输出完全相同,所以我真的看不到它的含义:
def yieldFunction(number):
for x in range(number) :
yield x*2
def returnFunction(number):
output=[]
for x in range(number) :
output.append(x*2)
return output
for x in yieldFunction(10):
print(x)
print('-'*20)
for x in returnFunction(10):
print(x)
输出:
0 2 4 6 8 10 12 14 16 18
0 2 4 6 8 10 12 14 16 18
在哪种情况下,一个优先于另一个?