2017-08-08 23 views
-2

我從字面上逐字複製指南。我把這個代碼: 對接:Python中的簡單類錯誤來自指南

class Dog(): 

    def _init_(self, name, age): 
     self.name = name 
     self.age = age 
    def sit(self): 
     print(self.name.title() + " is now sitting") 
    def roll_over(self): 
     print(self.name.title() + " rolled over") 

my_dog = Dog('willie', 6) 
my_dog.sit() 
my_dog.roll_over() 

然而,而不是讓「威利已經翻滾」我得到:

Traceback (most recent call last): 
    File "dog.py", line 10, in <module> 
    my_dog = Dog('willie', 6) 
TypeError: object() takes no parameters 

請幫助我....我想知道我做錯了什麼!

+3

'__init__'兩邊都需要兩個下劃線。 –

回答

0

您必須使用雙下劃線而不是單下劃線。 使用__init__而不是_init_來定義方法。

這將解決。

因爲__init__會構建您的Dog類的對象,而_init_不會。 正如python-docs__init__指出當創建實例

0

變化_init___init__那麼你的代碼將編譯就好被調用。閱讀更多關於__init__here