1. 程式人生 > >python之yield使用方法

python之yield使用方法

yield

yield生成斐波那契:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
def fab(max):
    n,a,b = 0,0,1
    while n < max:
        yield b	
	a , b = b,a+b
	n += 1
if __name__ == "__main__":
    for i in fab(15):
        print i

yield讀大文件內容:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
def read_file():
    block_size = 1024
    with open("/root/code/log/a.txt","r") as f:
        while True:
            block = f.read(block_size)
	    if block:
	        yield block
	    else:
		return
if __name__=="__main__":
    for i in read_file():
	print i


python之yield使用方法