【问题标题】:Why does Spyder not include 'return' statement values in Variable explorer?为什么 Spyder 不在变量资源管理器中包含“返回”语句值?
【发布时间】:2021-04-08 11:36:20
【问题描述】:

我有一个非常简单的脚本,想观察 Spyder 中 return 语句的行为。我想知道为什么 return 语句值不包含在变量资源管理器中。

【问题讨论】:

  • 你有没有尝试进入你的函数直到你在第 11 行?结果只在第 10 行声明...并隐藏在第 9 行的函数范围内
  • 如果你没有运行第 10 行,那么这个变量还不存在。
  • @PatrickArtner 当我“跨过”每一行时,“结果”不会出现在变量资源管理器中。它确实为 VE 添加了“结果”。但是,此过程会进入 iostream.py、threading.py 和我的调试过程范围之外的其他脚本。我想我还有更多的研究要做,以了解为什么会这样,以及调试的最佳实践。

标签: python python-3.x debugging spyder


【解决方案1】:

我认为这是因为您只是为每次迭代创建函数 sum_vars,但实际上并没有调用它。

您需要调用您的函数并将函数的输出分配给一个变量。因此,例如,在您的 for 循环中,您可以:

test = sum_vars(x, y)

您应该可以在变量浏览器中说出变量test。但是,它的值只会是 for 循环的最后一次迭代的值。

【讨论】:

    【解决方案2】:

    打印功能不会向您返回任何内容。它只是打印到控制台。您必须将sum_vars(x, y) 分配给一个变量(例如sum = sum_vars(x, y))。由于您有一些迭代,您可以考虑将总和值添加到每次迭代的列表中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-15
      • 2021-11-09
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 2016-03-23
      • 2018-04-21
      • 2023-04-07
      相关资源
      最近更新 更多