发电机返回相同的值

时间:2016-12-03 13:48:55

标签: python generator

所以我有这段代码:

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()

0 个答案:

没有答案