在python3下学习yield用法. 程序如下: def bar(n): m = n while True: m += 1 yield m b = bar(3) print(b.next()) 程序报错 'generator' object has no attribute 'next' 错误原因 python 3.x中 generator(有yield关键字的函数则会被识别为generator函数)中的next变为__next__了,next是python 3.x以前版本中的方法.
TypeError: 'generator' object is not subscriptable 生成器对象不可以带下标 def get_row(self,row_no): if not isinstance(row_no,int): return None if self.sheet is not None: return self.sheet.rows[row_no-1] return None
今天在学习生成器对象(generation object)运行以下代码时,遇到了一个错误: #定义生成器函数def liebiao(): for x in range(10): yield x#函数调用g = liebiao() #打印元素print(g.next())D:\>python test.pyTraceback (most recent call last): File "test.py", line 10, in <module> print(g.nex