所以我有这段代码:
def odds():
number = 1
while True:
yield number
number += 2
nums = odds()
for _ in range(100):
print(next(nums))
和这一个:
def odds():
number = 1
while True:
yield number
number += 2
for _ in range(100):
print(next(odds()))
第一部分,运行时,返回1, 3, 5 ...
,但第二部分:1, 1, 1, 1...
,只返回1。这是为什么?
请注意,不同之处在于,在第二部分中,我没有输入nums = odds()
。