2013-08-02 41 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! –