如何通过实例方法传递整数并将其添加到实例变量中?

How to pass an integer through an instance method and add that with an instance variable?

我试图用实例变量 self.pay 添加参数 bonus(它将接受一个整数),并想用工人的名字打印最后一笔付款。但是,我无法打印添加的总付款

我想调用方法 rise() 而不是从中返回任何内容,但我很困惑如何调用它并传递一个整数。

class Information:
    def __init__(self,first,last,pay):

        self.first = first
        self.last = last
        self.pay = pay


    def rise(self,int(bonus)):
        self.pay = self.pay + bonus

    def __str__(self):
        return "%s and %s and has a balance of %s" % (self.first,self.last,self.pay)

if __name__ == "__main__":
    emp1 = Information("tom","jerry",999)
    print (emp1)

我尝试使用以下代码。

我将 def rise(self,int(bonus)): 更新为 def rise(self,bonus):

class Information:
    def __init__(self,first,last,pay):

        self.first = first
        self.last = last
        self.pay = pay


    def rise(self,bonus):
        self.pay = self.pay + bonus

    def __str__(self):
        return "%s and %s and has a balance of %s" % (self.first,self.last,self.pay)

if __name__ == "__main__":
    emp1 = Information("tom","jerry",999)
    emp1.rise(89)
    print (emp1)
class Information:
    def __init__(self,first,last,pay):
        self.first = first
        self.last = last
        self.pay = pay

    def raise_salary(self, bonus):
        self.pay += int(bonus) # exception if bonus cannot be casted

    def __str__(self):
        return "%s and %s and has a balance of %s" % (self.first,self.last,self.pay)

if __name__ == "__main__":
    emp1 = Information("tom", "jerry", 999)
    print(emp1)
    emp1.raise_salary('1000') # or just emp1.raise(1000)
    print(emp1)