'''
迭代器:兩個基本方法:iter()和next()
迭代器是乙個可以記住遍歷的位置的物件。
迭代器物件從集合等第乙個元素開始訪問,直到所有的元素被訪問結束,迭代器只能往前不會後退。
迭代器有兩個基本的方法:iter()和next()
字串,列表或元組物件都可以用於建立迭代器。
迭代器的一大優點是不要求事先準備好整個迭代過程中所有的元素。迭代器僅僅在迭代到某個元素時才計算該元素,而在這之前或之後,元素可以不存在或者被銷毀。這個特點使得它特別適合用於遍歷一些巨大的或是無限的集合,比如幾個g的檔案
特點:訪問者不需要關心迭代器內部的結構,僅需通過next()方法不斷去取下乙個內容
不能隨機訪問集合中的某個值 ,只能從頭到尾依次訪問
訪問到一半時不能往回退
便於迴圈比較大的資料集合,節省記憶體
eg:list = [1,2,3,4]
it = iter(list)
print(next(it))
print(next(it))
import sys # 引入 sys 模組
list=[1,2,3,4]
it = iter(list) # 建立迭代器物件
while true:
try:
print (next(it))
except stopiteration:
sys.exit()
''''''裝飾器:
1、不能修改被裝飾函式的源**。
2、不能修改被裝飾函式的呼叫方式。
3、不能改變被裝飾函式的執行結果。裝飾器對被裝飾函式是透明的。
如何理解裝飾器
1、函式即「變數」
2、高階函式
a:把乙個函式名作為實參傳遞給另外乙個函式
b:返回值中包含函式名
3:巢狀函式在乙個函式體內宣告另乙個函式稱為函式的巢狀
eg:>>> def now():
... print('2017-05-01')
...>>> f = now
>>> f()
2017-05-01
'''
Python高階迭代器和裝飾器
python高階迭代器和裝飾器 一 迭代器 迭代是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的對 象。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結 束。迭代器只能往前不會後退。1 可迭代物件 一類是集合資料型別,如 list tuple dict set str 等 一...
Python生成器 迭代器 裝飾器
python生成器 迭代器 裝飾器 最簡單的生成器 g x x for x in range 10 for i in g print i函式方法實現稍複雜的生成器 def fib max n,a,b 0,1,1 while nyield b a,b b,a b n 1 for n in fib 6 ...
python 裝飾器,生成器,迭代器
示例1 無參無返回值 def shuai func 示例2 帶參函式的裝飾器 帶參函式的裝飾器 示例3 帶參有返回值的裝飾器 def zhuangshiqi func 資料量非常小,記憶體占用不大 l i for i in range 10 資料量特別大時,會造成記憶體占用突然增大 l2 i for...