python中"__getitem__"詳解


今天在學習為深度學習數據預處理的時候用了一下“__getitem__"方法,發現還挺好用,下面詳細解釋一下。

__getitem__(self,key):

把類中的屬性定義為序列,可以使用__getitem__()函數輸出序列屬性中的某個元素,這個方法返回與指定鍵想關聯的值。對序列來說,鍵應該是0~n-1的整數,其中n為序列的長度。對映射來說,鍵可以是任何類型。

如果在類中定義了__getitem__()方法,那么它的實例對象(假設為P)就可以以P[key]形式取值,當實例對象做P[key]運算時,就會調用類中的__getitem__()方法。當對類的屬性進行下標的操作時,首先會被__getitem__() 攔截,從而執行在__getitem__()方法中設定的操作,如賦值,修改內容,刪除內容等。

class Taget:
    def __init__(self,id):
        self.id=id
 
    def __getitem__(self, item):
        print('這個方法被調用')
        return self.id
 
a=Taget('This is id')
print(a.id)
print(a['python'])

>輸出:
'這個方法被調用'
'This is id'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM