Python 知識要點 迭代器

2022-08-16 15:45:13 字數 1155 閱讀 2309

迭代器是乙個可以記住遍歷的位置的物件。

迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。

iter() 函式用來生成迭代器,它主要對映到了類裡面的__iter__函式,此函式返回的是乙個實現了__next__的物件。

可迭代物件(iterable)並不是指某種具體的資料型別,它是指儲存了元素的乙個容器物件,且容器中的元素可以通過__iter__( )方法或__getitem__( )方法訪問。

迭代器(當然也是iterable),同時實現了__iter__和__next__的物件,缺少任何乙個都不算是iterator。

from collections.abc import *

class

myrange:

def__init__

(self, n):

self.o =n

m =len(n)

self.i =0

self.n =m

def__iter__

(self):

return

self

def__next__

(self):

if self.i ii =self.i

self.i += 1

return

self.o[ii]

else

:

raise

stopiteration()

x = myrange("

dong_ch_eng")

#如果物件的型別與引數二的型別相同則返回 true,否則返回 false。

print

(isinstance(x, iterable))

print

(isinstance(x, iterator))

print(isinstance("

dong_ch_eng

", iterable))

print(isinstance("

dong_ch_eng

", iterator))

print("

x.next():

", x.__next__

())for i in

x:

print(i)

Python知識要點

python 是乙個高層次的結合了解釋性 編譯性 互動性和物件導向的指令碼語言。python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。官方對 python 的介紹如下 python 是一款易於學習且功能強大的程式語言。它具有高...

python 迭代器 python迭代器

迭代器 可以直接作用for迴圈的資料型別 我們已經知道,可以直接作用for迴圈的資料型別有以下幾種 一類是集合資料型別 如 list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function 可迭代物件定義 這些可以直接作用fo...

python的迭代器 Python 迭代器

迭代器 迭代是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。可迭代物件 以直接作用於 for 迴圈的資料型別有以下幾種 一類是集合資料型別,如 list tuple dict set str 等...