一、什麼是typeerror: object() takes no p
當我們在使用 Python 編程時,可能會遇到 typeerror: object() takes no p 這樣的錯誤。這個錯誤通常出現在我們創建類的時候,當我們調用類的實例時,卻發現 Object() 接收了不該有的參數 p。這個錯誤的原因是我們在創建類時沒有正確地構造類的參數。
二、typeerror: object() takes no p 的出現原因
1、未正確構造類的參數
class MyClass():
def __init__(self, p1):
pass
my_object = MyClass()
在上述例子中,我們在創建 MyClass 類的時候,構造函數的參數是 p1。但是在實例化時我們沒有傳遞參數,導致出現了 typeerror: object() takes no p 的錯誤。
2、參數傳遞錯誤
class MyClass():
def __init__(self, p1):
pass
my_object = MyClass('p1', 'p2')
在這個例子中,我們在實例化 MyClass 類時,傳遞了兩個參數 ‘p1’ 和 ‘p2’,然而構造函數只接受一個參數。這種錯誤也會導致 typeerror: object() takes no p 的出現。
三、解決 typeerror: object() takes no p 的方法
1、正確構造類的參數
class MyClass():
def __init__(self, p1):
self.p1 = p1
my_object = MyClass('p1')
在這個例子中,我們正確地構造了 MyClass 類,通過給構造函數傳遞參數,我們可以實例化這個類並訪問這個類的屬性。
2、參數傳遞正確
class MyClass():
def __init__(self, p1, p2):
pass
my_object = MyClass('p1', 'p2')
在這個例子中,我們正確地傳遞了兩個參數給 MyClass 類的構造函數,這個類可以正常實例化。
四、總結
typeerror: object() takes no p 出現的原因主要是由於類的構造函數參數沒有正確定義或者參數傳遞錯誤。我們只需要正確地構造類參數或者傳遞正確的參數即可解決這個問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/275627.html