在 Python 中使用 getitem
Fariba Laiq
2022年5月17日
__getitem__()
是 python 中的一種魔術方法
。魔術方法
是程式設計師在編寫程式碼時不直接呼叫的那些方法。
這些方法是在後端自動呼叫的系統呼叫。魔術方法和普通方法的區別在於魔術方法周圍有雙下劃線。
這就是為什麼它們也被稱為 dunder 方法。這裡的 Dunder 表示雙下劃線。魔術方法也用於運算子過載。
在類中使用 __getitem__()
允許類的例項使用索引器運算子 [ ]
和類的引用變數,以從特定索引訪問列表、字典或元組的值。
當我們將索引器運算子與類的引用變數一起使用時,會自動呼叫此方法。在下面的程式碼中,我們建立了一個類 Person
,並且在類的建構函式中,我們在建立物件時傳遞了名稱列表。
我們已經明確定義了 __getitem__()
方法,該方法將列表索引作為引數並返回與該索引關聯的名稱。在程式碼中,我們沒有顯式呼叫 __getitem__()
方法。
當嘗試使用 [ ]
運算子訪問某個列表索引處的值時,會自動呼叫此方法。當我們編寫 p1[1]
來訪問列表的索引 1
處存在的值時,此方法被隱式呼叫為 p1.__getitem__(1)
。
示例程式碼:
# python 3.x
class Person:
def __init__(self, names):
self.names=names
def __getitem__(self,index):
return self.names[index]
p1=Person(["Jhon", "Kevin"])
print(p1[1])
輸出:
# python 3.x
Kevin
Author: Fariba Laiq
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn