'''迭代器:兩個基本方法:iter()和next()迭代器是一個可以記住遍歷的位置的對象。 迭代器對象從集合等第一個元素開始訪問,直到所有的元素被訪問結束,迭代器只能往前不會後退。 迭代器有兩個基本的方法:iter()和next() 字元串,列表或元組對象都可以用於創建迭代器。 迭代器的一大優點是 ...
'''
迭代器:兩個基本方法: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
'''