关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

python yield实现原理(python yield实现迭代器协议)

发布时间:2022-07-04 20:10:39

  说明

1、yield实现迭代器协议的两种方法__iter__和next(Python 2) 或__next__(Python 3)。

2、这两种方法都使对象成为迭代器。

可以使用模块中的Iterator抽象基类对它进行类型检查collections。

实例

[code]>>> def func():
...     yield 'I am'
...     yield 'a generator!'
...
>>> type(func)                 # A function with yield is still a function
‹type 'function'>
>>> gen = func()
>>> type(gen)                  # but it returns a generator
‹type 'generator'>
>>> hasattr(gen, '__iter__')   # that's an iterable
True
>>> hasattr(gen, 'next')       # and with .next (.__next__ in Python 3)
True[/code]

以上就是Python yield实现迭代器协议的方法,希望对大家有所帮助。



相关推荐

【2022年的云计算虚拟化市场现状和发展(云计算未来市场) >>点击查看详情<<

【习近平向“全球发展:共同使命与行动价值”智库媒体高端论坛致贺信 >>点击查看详情<<

/template/Home/Redyun/PC/Static