一、了解__len__方法
__len__是Python內置方法之一,用於獲取對象的長度。其定義如下:
def __len__(self): return 0
可以看到,__len__方法的返回值為整型,表示對象的長度。需要注意的是,只有實現了__len__方法的對象才能被len()函數調用。
接下來,通過以下三個方面來詳細介紹如何使用__len__方法獲取對象的長度。
二、使用__len__方法獲取字符串長度
字符串是Python中常用的數據類型之一,也是可以使用__len__方法獲取長度的對象。
s = "Hello World" print(len(s)) # 輸出 11 print(s.__len__()) # 輸出 11
當調用len()函數時,其內部會調用對象的__len__方法來獲取對象的長度。
三、使用__len__方法獲取列表長度
列表是Python中常用的容器類型之一,也是一個實現了__len__方法的對象。
lst = [1, 2, 3, 4, 5] print(len(lst)) # 輸出 5 print(lst.__len__()) # 輸出 5
同樣的,當調用len()函數時,其內部會調用對象的__len__方法來獲取對象的長度。
四、自定義對象的__len__方法
除了Python內置對象,我們也可以自定義對象的__len__方法。
class MyObject: def __init__(self): self.data = [1, 2, 3, 4, 5] def __len__(self): return len(self.data) obj = MyObject() print(len(obj)) # 輸出 5
在這個例子中,我們創建了一個自定義對象MyObject,並重寫了其__len__方法。該方法返回了MyObject對象中所存儲的data列表的長度。
上述代碼中的len(obj)實際上會自動調用obj.__len__()方法,從而獲取MyObject對象的長度。
五、總結
__len__方法是Python中一個重要的內置方法,用於獲取對象的長度。除了Python內置對象,我們也可以自定義對象的__len__方法來實現能夠被len()函數調用的對象。在使用__len__方法時,我們可以直接調用len()函數,也可以使用對象的__len__()方法。
原創文章,作者:OVDY,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/149263.html