Я не могу полностью следовать, но я думаю, что ваша xyz
- это какая-то загадочная комбинация p0, ta, ya
et c.
В этом случае вы должны поместить расчет цены в отдельную функцию, такую как
def calc_price(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):
return xyz # calculated with these inputs
def prc_chgd(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):
price = calc_price(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y)
ans = price * abc
def hedge(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):
price = calc_price(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y)
ans = price * xxxx
Если вы не хотите, чтобы ваш price
вычислялся дважды, вы также можете сделать
def calc_price(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):
return xyz # calculated with these inputs
def prc_chgd(price):
ans = price * abc
def hedge(price):
ans = price * xxxx
и предоставить вызывающей стороне, как часто вызывается calc_price()
.