python 將物件設定為可迭代的兩種實現方法

2022-10-04 18:09:09 字數 792 閱讀 6009

1、實現 __getitem_

class library(object):

def __init__(self):

self.value=['a','b','c','d','e']

def __getitem__(self, i):

if i>=len(se

raise indexerror("out of index")

v程式設計客棧alue=self.value[i]

return value

呼叫的時候,系統預設從0 開始傳入,並使得i=i+1

2、實現 __iter__(self),next(self)

class library2(object):

def __init__(self):

self.value=['a','b','c','d','e']

self.i=-1

def __iter__(self):

return self

def next(self):

self.i += 1

if selfwww.cppcns.com.i>=len(self.value):

raise stopiteration

return self.value[self.i]

test=library2()

print test.next()

print test.next()

在這裡可以像生成器一樣使用

本文標題: python 將物件設定為可迭代的兩種實現方法

本文位址:

python 將物件設定為可迭代有兩種實現方式

python 將物件設定為可迭代有兩種實現方式 1,實現 getitem self class library object def init self self.value a b c d e def getitem self,i if i len self.value raise indexer...

Python 可迭代物件

1.可迭代物件 以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別 如 list tuple dict set str等 一類是generator,包括生成器和帶yield 的 generator function 這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 2...

python可迭代物件

0 在python中只要是能用for in的,都是可迭代物件,讓我們看下定義 定義 我們已經知道可以對list tuple dict set str等型別的資料使用for in 的迴圈語法,會從其中依次拿到資料元素進行使用,我們把這樣的過程稱為遍歷,也叫迭代。所以我們把可以通過for in 這類語句...