python第1部分中的类

2024-10-01 04:54:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试基于这个类创建一个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)

Tags: 方法nameself程序returndef时间firstname
2条回答

我在您发布的示例中看到两个问题:

  • 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

__str__函数看起来正常吗?我的意思是stringRep被更改了几次,最后一个版本被返回。你知道吗

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

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

相关问题 更多 >