3 回答
TA贡献1757条经验 获得超8个赞
我不能完全遵循,但我认为你是一些神秘的组合等。xyzp0, ta, ya
在这种情况下,您应该将价格计算放入一个单独的函数中,例如
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()
TA贡献1844条经验 获得超8个赞
如果需要,可以从函数中返回多个值:
def prc_chgd(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):
price = xyz
ans = price*abc
return price, ans
def hedge(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):
price, ans = prc_chgd(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y)
ans = price*xxxx
TA贡献1785条经验 获得超4个赞
返回多个返回值的函数应该在 python 中产生:
def prc_chgd(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):
price = xyz
yield price
ans = price*abc
yield ans
您可以根据需要生成任意数量的值。然后,您可以循环访问 for 循环中的所有答案:
for total in prc_chgd(1,2,3,4,5,6,7,8):
print total
首先,它将打印价格,然后是 price*abs。由于这两个函数属于一起,我建议使用一个类。
添加回答
举报