2013-04-14 82 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