原文:python魔法函數(二)之__getitem__、__len__、__iter__

魔法函數會增強python類的類型,獨立存在 getitem len len 方法是為了能讓class作用於len 函數。 iter 如果一個類想被用於for ... in循環,類似list或tuple那樣,就必須實現一個 iter 方法,該方法返回一個迭代對象,然后,Python的for循環就會不斷調用該迭代對象的 next 方法拿到循環的下一個值,直到遇到StopIteration錯誤時退出循 ...

2018-12-10 22:11 0 911 推薦指數:

查看詳情

python __iter__和__getitem__區別

__getitem__ 單獨實現這個魔法函數,可以讓這個類成為一個可迭代的對象,並且可以通過使用下標獲取類中元素值下標的元素 __iter__ 這個是返回一個可迭代的對象,如果一個類實現了這個魔法函數,那么這個類就是可迭代對象,並且實現了__next__這個魔法函數的話 ...

Sun Aug 11 06:33:00 CST 2019 0 735
python 中__getitem__ 和 __iter__ 的區別

問題:那__getitem__可以替代__iter__方法嗎 1.list 結果為 2.dict 結果為: 結論:當字段為索引行數據類型(如:list, tuple,str)時,可以替換,當字段為hash型類型 ...

Thu Nov 23 20:00:00 CST 2017 0 4115
python 中的 __getitem__, __iter__ 和__next__

首先先簡單介紹一下這幾個內建函數: __getitem__:根據傳入的int參數,返回一個列表中的元素 __iter__:返回一個可迭代對象 __next__:當被迭代時,返回下一個迭代的對象 查了點資料,來源:知乎 鏈接:https://www.zhihu.com/question ...

Thu Jan 18 00:35:00 CST 2018 0 1594
python基礎===成員訪問__len__()和__getitem__()

返回對象實例的“長度” 凡是在類中定義了這個__getitem__ 方法,那么它的實例對象(假定為p),可以像這樣p[key] 取值,當實例對象做p[key] 運算時,會調用類中的方法__getitem__。 一般如果想使用索引訪問元素時,就可以在類中定義這個方法 ...

Thu Apr 26 05:52:00 CST 2018 0 1655
python 魔法方法 __getitem__

在字典和列表中我們經常使用[]來獲取字典中的值或者列表中的元素,是因為字典和列表都內置了__getitem方法。 我們自定義一個類,當實例對象通過[]運算符取值時,會自動調用它的__getitem__方法 序列可以迭代,即 for i in P 內置方法 ...

Fri Oct 16 06:47:00 CST 2020 0 792
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM