国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python如何使用__iter__()展现外部状态

python如何使用__iter__()展现外部状态

头像

小妮浅浅

2021-05-10 09:51:503577浏览 · 0收藏 · 0评论

(推荐操作系统: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基础教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

免费观看已满十八岁的电视剧大全 | 图书馆挺进她腿间湿润漫画 | 姨母的绣感中字完整版| 黑料门今日黑料免费| 是空无限传媒免费观看电视剧 | 潜龙道电视剧全集免要观看| -区二三国产好的精华液品牌介绍 日产精品一线二线三线芒果 | 我要和你在一起电视剧免费观看| 二年成全免费观看影视大全| 性医院医生| 美女被捆绑绳子穿过下体 勒胸| 蜜桃成时熟2| 狗配女人宝典视频| 《不戴套瑜伽教练3》| 《医务室上垒》动漫全集在线观看 | 美国巜性来潮喷1| 禁忌1蜜桃熟了| 《丰满的女邻居》播放| 一品国精和二品国精的文化意义| 水蜜桃免费观看电视剧最新章节| MV在线观看免费播放历史| 中美芬太尼事件背景| 小莹的性荡生活第15章| 机械师2| 在浴室和男朋友站着做好爽| 日韩精品| 真人老太太实战镖客视频大全| 《少妇交换做爰6| WWW.YW8831.COM| 续父开续女包小芳有没有出版?| 国产精品久久久久久久久精品动漫| 歪歪漫画SSS| 恋爱之瘾电影完整版的免费| 成品人和精品人的区别在哪里知乎| 老刘初尝苏荷媳| 《父债女偿》在线观看全集| 二人努力生猴子免费观看| 外国大片又大又好看的PPT| 机械革命| 小B又骚又紧日不死你视频免费| EXO妈妈MV高清视频播放