假设我有一个python函数,其中x
和y
是相对较大的对象(列表,NumPy矩阵等):
def myfun(x):
y=some complicated function of x
return y
如果在交互式会话中,用户将其称为:
myfun(5)
该呼叫基本上没用,因为y
丢失了。我们还假设该函数需要一段时间才能运行。有没有办法检索答案,所以用户不必重新运行,即answer=myfun(5)
?或者,什么是一种好的(pythonic)方式来编写函数,使其在这种情况下“万无一失”?一些不那么好的选择是:
需要一个存储值的参数,例如
def myfun(x,y):
y = some complicated function of x
return y
或者也许:
def myfun(x):
y = some complicated function of x
global temp
temp = y
return y
在后一种情况下,如果用户错误地调用myfun(5)
,则可以选择y=temp
来获取答案..但使用global
似乎错了。
答案 0 :(得分:4)
y=_
假设您在交互式python控制台中。 _
是持有最后一个"结果"