为了账号安全,请及时绑定邮箱和手机立即绑定

从函数中的函数调用变量

从函数中的函数调用变量

慕神8447489 2022-09-06 18:00:15
快速问题。我首先定义了一个函数prc_chgd,它最终给了我一个变量和s,但作为中间步骤,它给了我可变价格。现在,我想编写一个后续函数hdg,它使用相同的输入顺序,使用中间变量价格来计算其他东西。不幸的是,我不知道如何:Sdef prc_chgd(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):    price = xyz    ans   = price*abcdef hedge(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y):    from prc_chgd(p0, ta, ya, tb, yb, cb, delta1_y, delta2_y) import price    ans = price*xxxx关键是这些函数是笔记本分配中的两个单独的练习,我可能必须使用新输入(尽管顺序相同)重新计算前面的函数,并且只为我的计算选择定义的可变价格。提前感谢一堆!
查看完整描述

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()


查看完整回答
反对 回复 2022-09-06
?
婷婷同学_

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


查看完整回答
反对 回复 2022-09-06
?
九州编程

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。由于这两个函数属于一起,我建议使用一个类。


查看完整回答
反对 回复 2022-09-06
  • 3 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信