Python 方法中的 參數 必須在括號中指定。這是因為函數和方法使用括號來指示它們是否被調用。如果您使用方括號調用方法,您會遇到“TypeError: `method` object is notsubscriptable” 錯誤。
在本指南中,我們將解釋此錯誤的含義以及您可能會遇到的原因遇到它。讓我們看一個此錯誤的示例,以幫助您開發解決方案。
TypeError: `method` the object is not subscribed
可訂閱對象 是具有 __getitem__ 方法的對象。這些是數據類型,例如列表、字典和元組。 __getitem__ 方法允許 Python 解釋器從集合中檢索單個項目。
並非所有項目都被訂閱。例如,方法不是。這是因為他們沒有實現 __getitem__ 方法。這意味著您不能使用方括號語法來訪問方法的元素或調用方法。
請考慮以下代碼片段:
此代碼返回“Edam”,即索引 0 位置的奶酪。您不能使用方括號來調用函數或方法,因為函數和方法不是您可以訂閱的對象。
一個示例場景
這裡我們創建了一個將奶酪存儲在對像中的程序。 "Cheese," 我們用來定義奶酪的類將有一個方法可以讓我們檢查奶酪是否來自特定的原產國。
從 為我們的奶酪定義一個類 。我們稱這個類為 Cheese: