day14 迭代器和生成器

2022-06-27 10:33:14 字數 461 閱讀 3228

迭代器和生成器

迭代器可迭代協議 ---- 含有iter方法的都是可迭代的

迭代器協議 ---- 含有next和iter的都是迭代器

特點節省空間

方便逐個取值,乙個迭代器只能取一次.

生成器生成器函式

含有yield關鍵字的函式都是生成器函式

生成器函式的特點

呼叫之後函式內的**不執行,返回生成器

每從生成器取乙個值就會執行一段**,遇見yield就停止

如何從生成器取值:

for: 如果沒有break會一直取,直到取完

next:每次只取乙個

send:不能用在第乙個,取下乙個值的時候給上乙個位置傳乙個新的值

資料型別強制轉換: 會一次性把所有資料都讀到記憶體裡

生成器表示式

(條件成立想放在生成器中的值 for i in 可迭代的 if 條件)

day14 迭代器 生成器 面向過程程式設計

上節回顧 裝飾器有參裝飾器 無參裝飾器 語法糖wraps裝飾器 什麼時候需要使用到裝飾器 1.要增加新功能,但是不能修改源 和呼叫方式 2.實際開發時,用得最多的就是,將一段公共 提取到裝飾器 登入驗證 裝飾器使用到的知識點 閉包函式 函式物件 命名空間 作用域 語法糖函式巢狀 01迭代器 什麼是迭...

day7 迭代器和生成器

一邊迴圈一邊計算的機制,只有在呼叫時才會生成相應資料 可以使用isinstance 來判斷乙個物件是否是iterator物件 可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 可以直接用於for迴圈的資料型別有一下幾種 1 集合資料型別,如list tuple dict set st...

Day 10 迭代器和生成器

day 10 迭代器生成器模組 匯入原理 不管是通過import還是from import,在匯入模組時,系統會自動將被匯入的模組中的所有 執行一次 書寫規範 在定義模組時,可以通過if name main 這個if語句來阻止模組中指定 在被其他模組匯入時執行 在這個if語句中的 不會被其他模組執行...