我在下面的类中有一种方法可以更改其属性。但是,我需要原始的未更改的属性。惯用的方法是什么?
该类描述借款人。借款人拥有称为PMT的财产。这是借款人的摊销价值。从当前值计算得出。但是,借款人有一种施加利息的方法。这将更改当前值,从而更改PMT。申请利息后,我需要原始PMT。解决它的最好方法是什么。 这是代码示例
import numpy as np
class Borrower:
def __init__(self, present_value, term, rate):
self.present_value = present_value
self.term = term
self.rate = rate
def pmt(self):
return -np.pmt(self.rate/12, self.term, self.present_value)
def apply_interest(self):
self.present_value *= 1 + self.rate
出现问题:
b = Borrower(1000, 12, 0.1)
b.pmt() # 87.91
b.apply_interest()
b.pmt() # 96.70 I need 87.91 here!
我应该用这样的初始pmt创建借款人吗?
class Borrower:
def __init__(self, present_value, term, rate):
self.present_value = present_value
self.term = term
self.rate = rate
self.init_pmt = self.pmt()