python 生成器的输出问题

generator_ex = (x*x for x in range(10))

print(next(generator_ex))
print(next(generator_ex))
print(next(generator_ex))
print(next(generator_ex))
print(next(generator_ex))

for i in generator_ex:
print(i)

在print几次之后,为什么for 循环的时候不是从生成器的第一个数字输出呢?

反而是接着next的数据输出?

前面已经取出来了,也就是说取出来的已经不在 generator_ex 里了