python 將對象設(shè)置為可迭代的兩種實現(xiàn)方法
更新時間:2019年01月21日 10:31:31 作者:ZhanYunQI
今天小編就為大家分享一篇python 將對象設(shè)置為可迭代的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
1、實現(xiàn) __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 IndexError("out of index")
value=self.value[i]
return value
調(diào)用的時候,系統(tǒng)默認從0 開始傳入,并使得i=i+1
2、實現(xiàn) __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 self.i>=len(self.value):
raise StopIteration
return self.value[self.i]
test=Library2()
print test.next()
print test.next()
在這里可以像生成器一樣使用
以上這篇python 將對象設(shè)置為可迭代的兩種實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python django搭建layui提交表單,表格,圖標的實例
今天小編就為大家分享一篇Python django搭建layui提交表單,表格,圖標的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
libreoffice python 操作word及excel文檔的方法
這篇文章主要介紹了libreoffice python 操作word及excel文檔的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07
python GUI庫圖形界面開發(fā)之PyQt5狀態(tài)欄控件QStatusBar詳細使用方法實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5狀態(tài)欄控件QStatusBar詳細使用方法實例,需要的朋友可以參考下2020-02-02
Python 經(jīng)典貪心算法之Prim算法案例詳解
這篇文章主要介紹了Python 經(jīng)典貪心算法之Prim算法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09

