2013-08-02 38 views
-2

我想创建一个基于这个类的python类。我想有它返回的人的工资一周(包括时间和加班我需要把这种方法继高清getPhoneNo(个体经营)半:方法和def __str__(self):方法,因为我想用这个之前。方法在另一个程序I F任何人都可以帮忙python第1部分中的类

class PersonWorker: 

    def _init_(self, firstName, lastName, phoneNo): 
     self.firstName= firstName 
     self.lastName= lastName 
     self.phoneNo= phoneNo 
    def getFirstName(self): 
     return self.firstName 
    def getLastName(self): 
     return self.lastName 
    def getPhoneNo(self): 
     return self.phoneNo 
    def _str_(self): 
     stringRep = "First Name: " + self.firstName + "\n" 
     stringRep = "Last Name: " + self.lastName + "\n" 
     stringRep = "Phone Number : " + self.phoneNo + "\n" 
     return stringRep`: 

def getWeeksPay(self, hours, rate) 
+7

有什么不对?这听起来像你几乎解释了你需要做的事情。你尝试了什么,出了什么问题? –

回答

1

我看到您发布的例子两个问题:

  • 的getWeeksPay功能需要被缩进,使其解释为PersonWorker类方法与正常功能离子。
  • 您在STR方法return语句的结束还有一些时髦的人物。

我更新了您的代码片段,其中包含我认为您正在尝试完成的一个示例。

class PersonWorker: 

    def __init__(self, firstName, lastName, phoneNo, rate=0): 
     self.firstName= firstName 
     self.lastName= lastName 
     self.phoneNo= phoneNo 
     self.rate= rate 
    def getFirstName(self): 
     return self.firstName 
    def getLastName(self): 
     return self.lastName 
    def getPhoneNo(self): 
     return self.phoneNo 
    def getWeeksPay(self,hours): 
     if rate is 0: raise Exception("Rate not set") 
     return hours*self.rate 
    def __str__(self): 
     stringRep = "First Name: " + self.firstName + "\n" 
     stringRep += "Last Name: " + self.lastName + "\n" 
     stringRep += "Phone Number : " + self.phoneNo + "\n" 
     return stringRep 
2

__str__函数看起来没问题吗?我的意思是stringRep被多次更改并返回最后一个版本。

我觉得函数体应该是这样的:

stringRep = "First Name: " + self.firstName + "\n" +\ 
      "Last Name: "  + self.lastName + "\n" +\ 
      "Phone Number : " + self.phoneNo + "\n" 
return stringRep 
+0

感谢编辑Lennart! –