【说站】Python yield实现迭代器协议
2023-06-13 09:13:21 时间
Python yield实现迭代器协议
说明
1、yield实现迭代器协议的两种方法__iter__和next(Python 2) 或__next__(Python 3)。
2、这两种方法都使对象成为迭代器。
可以使用模块中的Iterator抽象基类对它进行类型检查collections。
实例
>>> 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
以上就是Python yield实现迭代器协议的方法,希望对大家有所帮助。
相关文章
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器
- gyp ERR! stack Error: Can't find Python executable 'python'
- 【说站】python迭代器和生成器的总结
- python 协程
- python读取pkl_Python 读取文件
- python_sklearn库的使用
- python面试题及答案_微型计算机原理与接口第四版答案
- Python 生成随机数_python 随机字符串
- Zabbix 配置Python邮件告警
- python高级线程编程-定时器和周期任务(二)
- python-Python与MongoDB数据库-处理MongoDB查询结果
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(二)
- Linux创建Python文件的步骤(linux新建python文件)
- Python 2.x和Python 3.x,初学者应如何选择?
- Linux与Python:开拓者的新时代(linux和python)
- 提升Linux环境:升级Python(linux升级python)
- 在Linux上学习Python——你的编程之路(linux学python)
- Pelican 入门:一个 Python 静态网站生成器
- python 如何调用远程接口
- Connecting to MSSQL with Python: A Comprehensive Guide for Beginners(python连接mssql)
- Python如何连接MySQL数据库(python怎么连接mysql数据库)