為什麼會出現TypeError: Missing 1 required Positional Argument: 'self'
在Python 中,在處理時,可能會遇到到異常呼叫類別方法時。具體錯誤訊息「TypeError: Missing 1 requiredpositional argument: 'self'」表示在呼叫該方法之前沒有正確呼叫建構方法來建立類別的實例。
理解目的'self'
'self' 是一個特殊變量,它會自動作為第一個參數傳遞給所有類別方法(包括建構子)。它代表類別的實例,並提供對其屬性和方法的存取。
建構子呼叫
必須呼叫建構子 (__init__) 方法來初始化類別實例。要呼叫它,需要透過使用 ClassName() 語法建立物件來實例化該類別。這會將 self 參數指派給實例並初始化其屬性和行為。
清晰範例
考慮以下程式碼片段:
class Pump: def __init__(self): print("init") def getPumps(self): pass p = Pump.getPumps() # Error: TypeError: getPumps() missing 1 required positional argument: 'self' print(p)
在此程式碼中,在呼叫getPumps() 之前不會呼叫建構函式(__init__)。因此,沒有創建 Pump 類別的實例,並且缺少 self 參數,從而導致錯誤。
解決方案
要解決此問題,必須先建立 Pump 類別的實例,然後呼叫該實例的 getPumps() 方法。正確的程式碼是:
p = Pump() p.getPumps() print(p)
先建立實例,正確分配 self 參數,並且可以成功呼叫 getPumps() 方法。
以上是為什麼我的 Python 程式碼會拋出「TypeError: Missing 1 required Positional Argument: 'self'」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!