Python yield用法

发布时间:2019-08-18 13:02:19编辑:auto阅读(1593)

    在函数中使用yield时,函数并不会返回数据,而是返回一个生成器对象(generator object),只有当循环遍历时,才会实际运行取得实际的值。

    示例一是我看到一本书上的例子,示例二是我将它简化后的例子,功能上没有任何区别。

    #示例一:
    def fileReadLines():
        seek = 0
        while True:
            with open('/home/python/passwd', 'r') as f:
                f.seek(seek)
                data = f.readline()
                if data:
                    seek = f.tell()
                    yield data
                else:
                    return
                    
    for item in fileReadLines():
        print(item)
    
    #示例二:
    def fileReadLine():
        with open('/home/python/passwd', 'r') as f:
            for line in f:
                yield line
    
    for item in fileReadLine():
       print(item)


关键字

上一篇: python提取url

下一篇: python中的struct