我正在观察一种行为,想知道其功能背后的原因。
class Employee:
raise_amount = 1.04
def __init__(self, first, last, pay):
self.first = first
self.last = last
self.pay = pay
@classmethod
def set_raise_amt(cls, amount):
cls.raise_amount = amount
emp_1 = Employee("John","Booth",8000)
emp_2 = Employee("Satya","Ch",9000)
emp_1.raise_amount = 4.05
print (emp_1.raise_amount)
emp_1.set_raise_amt(3.00)
print (emp_1.raise_amount)
print (emp_2.raise_amount)
以上是我的代码。在下面执行时给出输出
4.05
4.05
3.0
[Finished in 0.3s]
我的困惑是,当我使用静态方法将emp_1.raise_amount
的值设置为3.00时,为什么它没有反映在print语句中? emp_2.raise_amount
的值怎么变成3.00?