from collections import Iterator
from collections import Iterable
g = (x * x for x in range(10))
t = isinstance(g, Iterator)
print(t)#这一行的显示结果为true
print(next(t))#为什么这样子输出会显示错误???????????t不是迭代器吗???????
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你是不是写错了?
把next(t)改成next(g)也可以啊。
但是要全部遍历要放进循环里,
如果一直用next手动遍历最后一次会报错。
isinstance是一个判断变量类型的方法,类似type(),返回的是bool值,你从函数名字就可以猜出来了
这里的迭代器是g,t是isinstance函数返回值,你都打印出来是true了,怎么可能是迭代器