Python的迭代器與裝飾器

2022-08-23 20:30:10 字數 1082 閱讀 4693

'''

迭代器:兩個基本方法: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...