返回函数时,是在返回之前先计算的值吗?

时间:2017-12-24 11:21:48

标签: python return

我试图实现具有潜在跳过的多个阶段的功能,但我不确定我的方法是否有效。问题是计算第1部分时使用的值是否会继续用于下一阶段。例如,让我们说第四阶段看起来像:

define stage4(x):
  # Part 1. Computations of stage 4
  ...
  ...
  # Part 2. Computations are done, now ask user which stage is next
  nextstage = int(input("Go to which stage?"))
  if (nextstage == 5):
    return stage5(x)
  elif (nextstage == 7):
    return stage7(x)
  else:
    print("error, try again")
    return stage4()

我的问题是,如果我在第5阶段通过此代码调用(通过输入" 5"在控制台上),stage5会在stage4退出之前或之后发生吗?我不希望stage4等待stage5的返回值;我想在调用stage5之后完全离开stage4。

我担心的是,由于我有多个阶段,如果我在调用下一阶段之前没有正确退出前一阶段,我将会携带一大堆无用的记忆。那么这段代码会在调用stage5之前正确退出stage4吗?或者我应该完全修复舞台结构来解决这个问题吗?

0 个答案:

没有答案