返回函数时,是否先计算值再返回?

2024-10-03 06:31:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试实现一个具有多个阶段的函数,其中包含潜在的跳过,但我不确定我的方法是否有效。问题是在计算第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()

我的问题是,如果我通过这个代码调用stage5(通过在控制台上输入“5”),stage5会在stage4退出之前还是之后出现?我不希望stage4等待stage5的返回值;我想在第五阶段结束后完全离开第四阶段

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


Tags: of方法函数代码whichreturnstage阶段