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
吗?
我遵循有关 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
吗?