1. 程式人生 > >python3中函式裡的return和yield共存時的細節

python3中函式裡的return和yield共存時的細節

在python3中,生成器的建立方式有兩種:利用列表生成式和函式中新增yield。

在這需要注意的是,當採集函式建立生成器時,如果函式中含有return,則不會通過return得到任憑結果,return中止當前生成器,如果執行next()會報錯。

def f1():
    for i in range(10):
        print(i)
        i +=1
        yield i
        return i


f = f1()
next(f)
next(f)
next(f)
next(f)

 

函式有了yield後,函式名加()得到一個生成器。