-3

我正在尝试基于此类创建一个 python 类。我试图让它返回该人一周的工资(包括任何加班时间半。我需要将此方法放在 def getPhoneNo(self): 方法之后和方法之前,def __str__(self):因为我正在尝试使用此方法在另一个程序中。如果有人可以帮忙。

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)
4

2 回答 2

2

__str__功能看起来还好吗?我的意思是 stringRep 被更改了几次并返回了最后一个版本。

我认为函数的主体应该是这样的:

stringRep = "First Name: "    + self.firstName + "\n" +\
            "Last Name: "     + self.lastName  + "\n" +\
            "Phone Number : " + self.phoneNo   + "\n"
return stringRep
于 2013-08-02T21:48:59.687 回答
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
于 2013-08-02T21:35:11.917 回答