迭代器 生成器 裝飾器

2021-08-11 15:32:46 字數 509 閱讀 5473

1.迭代器:

(1)定義:同時滿足__iter__方法和next()方法的物件就是迭代器。

(3)型別:①可迭代物件通過iter()轉為迭代器;②生成器是一種特殊的迭代器。

2.生成器:

(1)定義:生成器是迭代器的一種,包括含有yield關鍵字函式和生成器表示式。

(2)用法:所有函式呼叫的引數都是第一次呼叫時保留的,而不是新建的,第一次呼叫時它會記住返回的位置,下次呼叫時會從上次返回的位置開始呼叫。

(3)型別:①列表生成器,比如 (x for x in range(10)),for i in xrange(10);②帶有yield的函式。

(4)優點:節省記憶體;適合處理大型資料

3.裝飾器:

(1)用法:擴充套件到定義好的函式功能,甚至能改變函式執行的行為。

(2)型別:①@staticmethod,@classmethod,@property

②@csef_emept 進行scerf安全驗證,@login_required進行登入驗證

裝飾器,生成器,迭代器

裝飾器 import time def show time func def inner x start time time.time func x end time time.time print end time start time return inner show time def add...

生成器 迭代器 裝飾器

迭代器表面上看是乙個資料流物件或者容器,當使用其中的資料時,每次從資料流中取出乙個資料,直到資料被取完,而且資料不會被重複使用。從 的角度來看,迭代器是實現了迭代器協議方法的物件和類。迭代器協議方法主要是兩個 iter 該方法返回物件本身,它是for語句使用迭代器的要求 next 方法用於返回容器中...

生成器 裝飾器 迭代器

列表生成器 def f n return n 3 a f x for x in range 100 print a print type a 生成器 生成器一共兩種建立方式 1.x for i in range 0 2.yield 生成器在建立的時候已經決定了能計算出值的個數,呼叫next的次數超過...