2 回答

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
我認(rèn)為這里有兩種解決方案:
你
predictFinalIncome
在里面寫(xiě)Person
。當(dāng)您調(diào)用predictFinalIncome
方法時(shí),您會(huì)將收入值保存為Person
類的屬性您將
Person
實(shí)例作為predictFinalIncome
方法的參數(shù)傳遞。在計(jì)算收入后,您可以使用該實(shí)例進(jìn)行儲(chǔ)蓄。見(jiàn)下文
def predictFinalIncome( self, n, specificPerson: Person ):
for i in range(n):
n_income = n_income* i
# new lines
specificPerson.income += n_income #income updated
specificPerson.age = ((specificPerson.age*12) + n)/12 # age updated
當(dāng)你predictFinalIncome在外面打電話時(shí):
utopModel = myModel( { "gender": False, "ethnic": False } )
months = 12
specificPerson = Person(..something here..)
utopModel.predictFinalIncome(months,specificPerson)
現(xiàn)在,當(dāng)您調(diào)用方法時(shí),您的specificPerson實(shí)例會(huì)自動(dòng)更新收入predictFinalIncome

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
所以 NimaNr 的解決方案(在您的評(píng)論中)可能是最簡(jiǎn)單的解決方案。
如果您將 predictFinalIncome() 保留在 myModel 類中,您將需要為您的 Person 的收入變量創(chuàng)建一個(gè)setter函數(shù)。它看起來(lái)像這樣:
def setIncome(self, x): self.Income = x
你想要在你的predictFinalIncome方法中做的是用你得到的 n_income 值調(diào)用我們剛剛在上面創(chuàng)建的設(shè)置器。
添加回答
舉報(bào)