Python yield用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python yield用法相关的知识,希望对你有一定的参考价值。

在函数中使用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)


本文出自 “戴柏阳的博客” 博客,请务必保留此出处http://daibaiyang119.blog.51cto.com/3145591/1947290

以上是关于Python yield用法的主要内容,如果未能解决你的问题,请参考以下文章

Python异步编程02--yield用法

python yield的用法

Python yield的用法

python 生成器与迭代器(yield 用法)

python yield from用法

python中yield与return的用法与区别