Jupyter 实验室:为什么单行变量不生成输出?

Jupyter lab: why variable on single line does not generate output?

我遵循有关 Jupyter 和 Python 的教程,其中说如果两个连续的命令如下:

in: x = 2
in: x

我应该得到

out: 2

结果。但是,组合块中单行的 x,如:

in: x = 2
in: if x == 2:
       x

不打印 x 变量。这个 x on single line 与 x as a single command 有点不同吗?当我写这篇文章时,我看到,一行与整个命令不同,但是使前两个命令结果为 2 但后三个命令没有结果的基本概念或事物是什么?

当你在一行中写一个变量并执行它时,jupyter notebook 假定你想知道变量的值并将其隐式转换为 print(variable) 以便打印变量的值。

当您使用多语句时,您很少会想要打印语句中使用的所有变量。所以这个案例没有实现

这与 expression 和 python 中的声明(链接见下文)之间的区别有关。

一个表达式只能包含identifiers, literals and operators.

语句可能要复杂得多。参见 simple statements and compound statements

python shell 将输出表达式的计算结果,但不会输出语句,因为不能保证它的计算结果可以输出。您应该使用 print 从语句中输出值。

考虑一下如果将 x 替换为其值 (2) 会发生什么:

if 2 == 2:
    2

你希望解释器输出2吗?