2013-04-14 81 views
0

類工作人員:爲什麼我得到這個錯誤:蟒蛇2.7類類型錯誤:這個構造函數沒有參數

def _init_(self,name,pay): 
    self.name=name 
    self.pay=pay 
def lastName(self): 
    return self.name.split()[-1] 
def giveRaise(self,percent): 
    self.pay*=(1.0+percent) 

先令=工人( '鮑勃·史密斯',50000)

蘇=工('蘇Jones',60000)

+0

回溯(最近通話最後一個): 文件 「d:\ Dropbox的\ 2013 SPRING \ CS410 \ exercise.py」,線路207,在 BOB =工人( '鮑勃·史密斯',50000) 類型錯誤:此構造函數不需要參數 – user1710418

回答

1

您在init之前和之後使用了一個下劃線。 Python在前後使用兩個下劃線:

def __init__(self,name,pay): 
    self.name=name 
    self.pay=pay 
+0

非常感謝! – user1710418

0

也總是從基類型對象繼承。您的類聲明應爲:

class Worker(object): 
    def __init__(self,name,pay): 
     self.name=name 
     self.pay=pay 
    def lastName(self): 
     return self.name.split()[-1] 
    def giveRaise(self,percent): 
     self.pay*=(1.0+percent) 

不從對象繼承將在Python 2.x中創建「舊式」類。有關詳細信息,請參閱http://wiki.python.org/moin/NewClassVsClassicClass,如果您不知道,那麼您需要新式課程。

+0

非常感謝!我曾經使用Python 2.7,現在我只是更新到3.3.1,我發現很多不舒服的未知變化,如修復打印成爲print()。有沒有關於這些變化的總結? – user1710418

+0

@ user1710418:是! [Here's is。](http://docs.python.org/3.3/whatsnew/3.0.html) – icktoofay

+0

非常感謝!@icktoofay – user1710418