當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python __len__()用法及代碼示例


Python __len__是各種魔法方法之一Python編程語言,它本質上用於實現len()函數Python因為每當我們調用len()函數然後在內部調用 __len__ 魔術方法。它最終返回一個大於或等於零的整數值,因為它代表了長度對象它被稱為。

Python __len__() 函數語法

Syntax: object.__len__()

  • object: It is the object whose length is to be determined.                 

Returns: Returns a non negative integer.

Python __len__() 函數示例

當。。。的時候對象我們正在迭代已經在內部定義了 __len__ 方法,然後 len 函數給出了對象的正確結果,即

Python3


class GFG:
    def __init__(self, a):
        self.a = a
    def __len__(self):
        return len(self.a)
       
obj = GFG("GeeksForGeeks")
print(len(obj))

輸出:

13

示例 2:

當對象沒有預定義的 __len__ 方法時,則在執行 len fu 時作用它給出了TypeError,但可以通過我們自己定義 __len__ 方法來糾正,

Python3


class GFG:
   
    def __init__(self, item):
        self.item = item
    def __len__(self):
        return 1
obj = GFG("Geeksforgeeks")
print(obj.__len__())

輸出:

1

默認 __len__() 實現

當我們從類中調用 len(obj) 而不定義 __len__() 方法時,那麽它 將引發 TypeError:類型為“…”的對象沒有len()。

Python3


class Length:
    pass
     
obj = Length()
print(len(obj))

輸出:

TypeError                                 Traceback (most recent call last)
<ipython-input-9-c08d3a505e12> in <module>
     3 
     4 obj = Length()
----> 5 print(len(obj))
TypeError: object of type 'Length' has no len()


相關用法


注:本文由純淨天空篩選整理自shlokdi35dq大神的英文原創作品 Python __len__() magic method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。