python基礎之生成器,三元表達式,列表生產式

生成器函數

1.什麼是生成器?對象

         在函數內但凡出現yield關鍵字,再調用函數就不會執行函數體代碼,會返回一個值,該值稱爲生成器。ip

         生成器的本質就是迭代器。for循環

2.爲何要用生成器?循環

         生成器是一種自定義迭代器的方式yield

3.如何使用生成器?迭代器

         和迭代器同樣,用next(),for循環,到函數中的yield即會中止總結

 

總結yield的功能next

         1.提供一種定義迭代器的方式生成器

         2.yield能夠暫停函數,並返回值

yield  VS  return

相同點:都是在函數內的,均可以有返回值,沒有類型的限制,沒有個數的限制

不一樣點:return只能返回一次值,yield能夠返回屢次值

 

瞭解:yield用法:

         ①yield + 值            經常使用

         ②x = yield  函數讀到yield就暫停,等待傳值,而後賦值給x,傳值用g.send(adj)

 

三元表達式:

         res = x if x > y else y   條件成立時返回x,不成立時返回y

 

列表生產式:

         l = [i**2 for i in range(1,10)]

         names = [‘alex’,’wxx’,’egon’]

         names = [name+’hh’ for name in names if name !=’egon’]

 

zip:x=[1,2,3] y = [0,0,0]  

         res = zip(x,y)    res爲迭代器

max: max(x)   x能夠是一個可迭代對象

 

生成器表達式:

         g = (i for i in rang(10))     

相關文章
相關標籤/搜索