【问题标题】:Classes within python part 1 [closed]python第1部分中的类[关闭]
【发布时间】:2013-08-04 06:42:48
【问题描述】:

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

【问题讨论】:

  • 怎么了?听起来你已经解释了你需要做什么。您尝试了什么,出了什么问题?

标签: python base-class


【解决方案1】:

__str__ 函数看起来还好吗?我的意思是 stringRep 被改变了几次,最后一个版本被返回。

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

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

【讨论】:

  • 感谢伦纳特的编辑!
【解决方案2】:

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

  • getWeeksPay 函数需要缩进,以便将其解释为 PersonWorker 类方法而不是普通函数。
  • str 方法的 return 语句末尾有一些时髦的字符。

我用我认为你正在尝试完成的示例更新了你的代码 sn-p。

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

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2019-02-23
    • 2020-10-24
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    相关资源
    最近更新 更多