Python - 从函数中提取私有变量?

时间:2015-07-23 11:04:59

标签: python function scipy

我有一个函数f2(a,b)

它只能通过最小化算法调用,该算法每次迭代函数以获得不同的a和b值。我想将这些迭代存储在excel中进行绘图。

是否可以轻松提取这些值(我只需要将它们全部粘贴到excel或文本文件中)?传统的返回和打印在f2中不起作用。有没有办法以其他方式将值a和b提取到主体的公共列表中?

该算法可能会迭代数十次或数百次。

到目前为止,我已经尝试过:

  • 打印到控制台(无法轻松将此数据粘贴到Excel中)

  • 在f2中写入文件(csv),每次都会在函数中覆盖csv文件。

2 个答案:

答案 0 :(得分:1)

将值附加到全局列表。

values = []
def f2(a,b):
    values.append((a,b))
    #todo: actual function logic goes here

然后,您可以在完成迭代后查看主范围中的values

答案 1 :(得分:1)

  

在f2中写入文件(csv),每次都会在函数中覆盖csv文件。

如果您以附加模式打开文件,则不会显示:

with open("file.csv", "a") as myfile: