Return VSC 与 Spyder 中的功能

Return function in VSC vs Spyder

我觉得这有点烦人,因为我看不出原因。

VS Code(+ bash 终端)中的 return 语句(函数内)没有 return 任何值,除非我明确地说 print(function()),就像下面的代码中给出的那样。

这不会发生在 Spyder 中,它会立即 return 控制台中的值。

为什么会这样?我错过了什么?

主要原因是你在Spyder中使用了IPython控制台。它是一个提供额外功能的交互式 shell。由于在您的 bash 终端中使用 Python 控制台而不是 IPython,它不会 return 提示时函数的值。

在此 question 中,讨论了 IPython 和 Python 控制台之间的区别。

也可以在 VS Code 中使用 IPython https://code.visualstudio.com/docs/python/jupyter-support-py

您可能必须在设置中启用 Python 数据科学功能(截至 2020 年 9 月仍处于试验阶段):

  • 打开设置(按 Ctrl+,)然后搜索 datascience 选项

就个人而言,我发现“将选择发送到交互式 Window”选项非常有用。

"python.dataScience.sendSelectionToInteractiveWindow": true,

Determines if selected code in a python file go to the terminal or to the Python interactive window when hitting Shift+Enter