2017-07-26 31 views
1

我是Python的初學者。我正在關注「以艱難的方式學習Python」。在練習40中,我試圖編寫一段簡短的代碼,但遇到錯誤。請幫我:(Python TypeError:object()不帶參數錯誤

來源

class showInfo(object): 
    'Initialize a classL' 
    def __int__(self, name, phone, age): 
     self.name = name 
     self.phone = phone 
     self.age = age 

def showName(self): 
    print("Name: "+self.name) 
def showAge(self): 
    print("Age: "+self.age) 
def showPhone(self): 
    print("Phone: "+self.phone) 

emp1 = showInfo("JJJ") 

emp1.showName() 

調試

Traceback (most recent call last): 
File "classes.py", line 15, in <module> 
    emp1 = showInfo("JJJ") 
TypeError: object() takes no parameters 

回答

4

的原因是__init__拼錯:-)

之後,會有一個不同的錯誤信息,因爲showInfo("JJJ")只傳入一個參數當需要三個時showInfo(somename, somephone, someage)

之後,還會有一條消息,因爲最後三個方法在類定義下沒有正確縮進。

這裏是固定了代碼:

class showInfo(object): 
    'Initialize a classL' 
    def __init__(self, name, phone, age): 
     self.name = name 
     self.phone = phone 
     self.age = age 

    def showName(self): 
     print("Name: "+self.name) 

    def showAge(self): 
     print("Age: "+self.age) 

    def showPhone(self): 
     print("Phone: "+self.phone) 

emp1 = showInfo("Tom", "555-1212", 21) 
emp1.showName() 

此輸出:

Name: Tom 
+0

它是拼寫錯誤,但他的代碼將無法正常工作,無論 –

+0

感謝您對這個答案<3。 –

+0

此外,titlecase應該用於定義類名。類ShowInfo(object)。 –

相關問題