Python 3.x 为什么生成器对象不是返回生成器?

Python 3.x 为什么生成器对象不是返回生成器?,python-3.x,Python 3.x,我有一个使用生成器的简单迭代对象。但是Obj()的\uu iter\uuu()方法无法从Generator()获取迭代器 现场演示正在进行中 我希望控制台输出是'qwe'\uuuu init\uuuu无法返回或生成非无值。根据您所拥有的,Generator不是Generator对象,而是Obj是Obj.\uuu iter\uuuu是一种应该产生值的方法,您可能完全可以摆脱生成器类,除非它用于发布的代码段中未显示的其他内容 class Obj(): def __init__(self, w

我有一个使用生成器的简单迭代对象。但是
Obj()
\uu iter\uuu()
方法无法从
Generator()获取迭代器

现场演示正在进行中


我希望控制台输出是
'qwe'
\uuuu init\uuuu
无法返回或生成非
值。根据您所拥有的,
Generator
不是Generator对象,而是
Obj
Obj.\uuu iter\uuuu
是一种应该
产生
值的方法,您可能完全可以摆脱
生成器
类,除非它用于发布的代码段中未显示的其他内容

class Obj():
    def __init__(self, word):
        self.word = word
    def __iter__(self):
        for l in self.word:yield l

obj = Obj('qwe')

print(obj.__next__())
print(obj.__next__())
print(obj.__next__())
class Obj():
    def __init__(self, word):
        self.word = word
    def __iter__(self):
        for l in self.word:yield l

obj = Obj('qwe')

print(obj.__next__())
print(obj.__next__())
print(obj.__next__())