class Iters:
def __init__(self, value):
self.data = value
def __iter__(self):
print('iter=>', end='')
self.ix = 0
return self
def __next__(self):
print( 'next:', end=' ')
if self.ix== len(self.data): raise StopIteration
item = self.data[self.ix]
self.ix += 1
return item
X = Iters([1, 2, 3, 4, 5])
print([i ** 2 for i in X])
上面代码输出如下:
iter=>next: next: next: next: next: next: [1, 4, 9, 16, 25]
我的问题是,为何输出是连着 6 个“ next: ”然后才是列表,而不是形如“ next: 1 ”这种在“ next: ”后紧跟数字的方式?
谢谢
def __init__(self, value):
self.data = value
def __iter__(self):
print('iter=>', end='')
self.ix = 0
return self
def __next__(self):
print( 'next:', end=' ')
if self.ix== len(self.data): raise StopIteration
item = self.data[self.ix]
self.ix += 1
return item
X = Iters([1, 2, 3, 4, 5])
print([i ** 2 for i in X])
上面代码输出如下:
iter=>next: next: next: next: next: next: [1, 4, 9, 16, 25]
我的问题是,为何输出是连着 6 个“ next: ”然后才是列表,而不是形如“ next: 1 ”这种在“ next: ”后紧跟数字的方式?
谢谢