mygenerator().next() AttributeError: 'generator' object has no attribute 'next'
def mygenerator(): print ("start ...") yield 5 mygenerator() print ("mygenerator():",mygenerator()) mygenerator().next()
我定义了带有yield的函数,调用是报错:
mygenerator().next()
AttributeError: 'generator' object has no attribute 'next'
原因是在python 3.x中 generator(有yield关键字的函数则会被识别为generator函数)中的next变为__next__了,next是python 3.x以前版本中的方法
解决方法:把next()换为:_ _next_ _()
# -*- coding:utf-8 -*- def mygenerator(): print ("start ...") yield 5 print ("mygenerator():",mygenerator()) mygenerator().__next__()
mygenerator(): <generator object mygenerator at 0x0000000002324728>
start
本文来自博客园,作者:热爱技术的小牛,转载请注明原文链接:https://www.cnblogs.com/my-blogs-for-everone/p/8023503.html