python如何使用__iter__()展现外部状态
- 更新时间:2021-07-01 09:08:24
- 编辑:璩嘉树
为网友们分享了相关的编程文章,网友孔迎梅根据主题投稿了本篇教程内容,涉及到Python相关内容,已被744网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
参考资料
- 自然语言处理实战:利用Python理解、分析和生成文本 PDF 电子书 / 78 MB / 霍布森·莱恩 推荐度:
- Python编程实践和程序设计(PPT源码) / 66.62 MB / 码小辫 推荐度:
- 《Python贝叶斯分析》源码实例 配套资源 / 5.57 MB / [阿根廷] 奥斯瓦尔多·马丁(Osval 推荐度:
- Python黑帽子:黑客与渗透测试编程之道 PDF 电子书 / 28.3 MB / Justin Seitz(贾斯汀·塞茨 推荐度:
- Python+TensorFlow机器学习实战 PDF 电子书 / 56.3 MB / 李鸥 推荐度:
正文内容
本页是码农之家最新发布的《python如何使用__iter__()展现外部状态》的详细页面,觉得有用就收藏了,重新编辑了一下发到本站,看完如果觉得有用请记得收藏。
(推荐操作系统:windows7系统、Python 3.9.1、DELL G3电脑。)
1、如果你想让你的生成器暴露外部状态给用户, 别忘了你可以简单的将它实现为一个类,然后把生成器函数放到 __iter__() 方法中过去。比如:
from collections import deque class linehistory: def __init__(self, lines, histlen=3): self.lines = lines self.history = deque(maxlen=histlen) def __iter__(self): for lineno, line in enumerate(self.lines, 1): self.history.append((lineno, line)) yield line def clear(self): self.history.clear()
2、为了使用这个类,你可以将它当做是一个普通的生成器函数。然而,由于可以创建一个实例对象,于是你可以访问内部属性值,比如 history 属性或者是 clear() 方法。代码示例如下:
with open('somefile.txt') as f:
lines = linehistory(f)
for line in lines:
if 'python' in line:
for lineno, hline in lines.history:
print('{}:{}'.format(lineno, hline), end='')
以上就是python使用__iter__()展现外部状态的方法,希望能对大家有所帮助。更多Python学习指路:
相关教程
-
Python中线程终止与挂起的实现方法
本篇文章给大家带来的内容是关于Python中线程终止与挂起的实现方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
发布时间:2019-07-11
-
win7自带python吗
Python的开发越来越流行,在linux和MAC系统中一般都自带有Python2,但是在win7中没有自带Python,如果需要可以自己选择安装配置。
发布时间:2019-06-27