天天看點

Python基礎知識(疊代器、生成器與裝飾器)

一、疊代器

  疊代器:可以了解為一個容器,循環的時候,每次從容器中取出一個元素,直到元素被取完為止。

二、生成器

  生成器:如果一個清單中,存在海量的資料,如果僅僅隻是想通路其中的某幾個元素,那麼這樣的操作會特别耗記憶體;若一個函數中如果包含yield關鍵字,那麼這個函數就不再是一個普通函數,而是一個生成器(generator)對象。生成器的特點:

  1.操作海量資料,節約記憶體空間。

  2.生成器是一個傳回疊代器的函數,隻能用于疊代操作。

  3.在調節生成器運作的過程中,每次遇到yield函數會暫停并儲存目前所有的運作資訊,傳回yield的值,并在下一次執行next()方法時,從目前位置繼續運作。

三、裝飾器

  裝飾器:裝飾器是一種增加函數或類功能的簡單方法,它可以快速的給不同的函數或類傳入相同的功能。調用被裝飾的函數,與之前的調用過程沒有任何差別。