lambda+yield+生成器+迭代器

qq_45911550發表於2020-12-06

1、匿名函式:lambda,使用時注意括號的問題
在這裡插入圖片描述
2、首先python內建了一個迭代函式iter,用於生成迭代器。
在這裡插入圖片描述

3、yield是返回的意思,用於構造生成器但它和return的區別在哪裡呢,return一次性返回值,然後程式結束,而yield每一次只返回一個值,程式不結束。
在這裡插入圖片描述
小例子:利用yield是兩個函式交替執行

def task_1():
    while True:
        print("---1---")
        yield 
def task_2():
    while True:
        print("---2---")
        yield
def main():
    t1=task_1()
    t2=task_2()
    while True:
        next(t1)
        next(t2)
if __name__=="__main__":
    main()

相關文章