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()
相關用法
- Python __import__()用法及代碼示例
- Python __getslice__用法及代碼示例
- Python __rmul__用法及代碼示例
- Python __getitem__()用法及代碼示例
- Python __call__用法及代碼示例
- Python __exit__用法及代碼示例
- Python __new__用法及代碼示例
- Python __init__用法及代碼示例
- Python __file__用法及代碼示例
- Python __name__用法及代碼示例
- Python __repr__()用法及代碼示例
- Python __add__()用法及代碼示例
- Python String format()用法及代碼示例
- Python abs()用法及代碼示例
- Python any()用法及代碼示例
- Python all()用法及代碼示例
- Python ascii()用法及代碼示例
- Python bin()用法及代碼示例
- Python bool()用法及代碼示例
- Python bytearray()用法及代碼示例
- Python callable()用法及代碼示例
- Python bytes()用法及代碼示例
- Python chr()用法及代碼示例
- Python compile()用法及代碼示例
- Python classmethod()用法及代碼示例
注:本文由純淨天空篩選整理自shlokdi35dq大神的英文原創作品 Python __len__() magic method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。