【问题标题】:Running codes in different IDEs (Text Editors)在不同的 IDE 中运行代码(文本编辑器)
【发布时间】:2020-12-19 05:12:10
【问题描述】:

这是一个愚蠢的问题,但我是 Python 新手,无法弄清楚为什么我的代码只适用于 Jupyter notebook 而不适用于其他 IDE 或文本编辑器。例如,我意识到我总是必须使用“打印”函数在 PyCharm 和 Sublime Text3 中获取我的输出,而我可以在 Jupyter Notebook 中不使用打印函数运行值。

这是一个简单的例子: 在 Jupyter Notebook 中,我可以简单地运行代码而无需打印功能

 x = 10
 y = 20
 x+y

如果我运行它,我仍然会得到我的输出,即 30。

但是如果我在 PyCharm 或 Sublime Text3 中做同样的事情,我不会得到输出。它只是说 [Finished in X.Xs] 没有打印我的输出,我总是必须使用打印功能来获取输出。

x=10
y=20
print(x+y)

我想知道是什么导致了这种差异。起初,我以为是因为我使用的软件类型,并意识到 Pycharm 和 Jupyter Notebook 都是 IDE。我是否需要更改设置才能使我的代码在 Pycharm 或 Sublime Text3 中工作?

谢谢。

【问题讨论】:

  • 无法评论 Jupyter 的构建方式使得您并不总是需要使用 print 语句。我建议您按照here 更改 jupyter 的设置。

标签: python jupyter-notebook pycharm sublimetext3


【解决方案1】:

Jupyter 设置就是这样。它评估您的最后一行代码,如果它是“无”,则不打印任何内容,但如果不是无,则只会打印。 Only the last uncommented expression or line gets printed nothing intermediate.

【讨论】:

    【解决方案2】:

    Python 本质上以两种模式运行 - 脚本执行模式和交互模式,也称为 REPL(读取、评估、打印、循环)。 Jupyter 默认设置为在 REPL 模式下运行,其中操作的结果会打印到标准输出(请参阅 this question 以更改此行为)。

    相比之下,PyCharm 和 Sublime Text 在非交互模式下直接执行脚本,并且仅在明确指示这样做时打印到标准输出,例如调用print()。据我所知,PyCharm 有一个 REPL 模式,在 Sublime 中你可以使用 SublimeREPL 插件,可以从 Package Control 获得。

    【讨论】:

      猜你喜欢
      • 2018-06-02
      • 2014-06-16
      • 2016-01-09
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多