在 Python 中使用 getitem

Fariba Laiq 2022年5月17日
在 Python 中使用 getitem

__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
Fariba Laiq avatar Fariba Laiq avatar

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

相關文章 - Python Class