2017-09-02 51 views
0

此代碼不斷返回錯誤...對象。 init()沒有任何周長。python中的類語句

class Car(object): 
    def __init__(self,make,colour): 
     object.__init__(self,make,colour) 
     self.make = Ford 
     self.colour = Black 
    def display(self): 
     print("Make:", self.make) 
     print("Colour:", self.colour) 
#main program 
cObj1 = Car("Ford", "Black") 
cObj1.display() 
+3

那麼你的問題是什麼? – WSY

+0

我在上面的程序中做了什麼錯誤? – Raj

+0

正如錯誤所述:您將參數傳遞給'object .__ init__',它不需要任何參數。 –

回答

2

要調用object.__init__(),但方法不帶任何參數:

object.__init__(self,make,colour) 

只需刪除該行,不需要它。 object.__init__不做任何事情,不調用它不會造成任何傷害。

接下來,您忽略了參數,而是使用名稱FordBlack;這些名稱沒有在你的代碼中定義,所以會給你一個例外。使用makecolour代替:

def __init__(self, make, colour): 
    self.make = make 
    self.colour = colour 
+0

刪除行後出現一個錯誤,說「NameError:name'Ford'未定義」 – Raj

+0

@Raj:你認爲'= Ford'會做什麼?想必你想用'= name'來代替? –

+0

謝謝我現在明白了 – Raj