我遵循了一个关于Jupyter和Python的教程,其中提到如果两个连续的命令如下:
in: x = 2
in: x我应该得到
out: 2结果就是。但是,组合块中单行上的x如下所示:
in: x = 2
in: if x == 2:
x不打印x变量。单行中的x与作为单个命令的x有什么不同吗?当我写这篇文章的时候,我明白了,一行作为整个命令是不同的,但是是什么潜在的概念或东西使得前两个命令的结果是2,而后三个命令什么都不是?
发布于 2019-03-07 02:53:07
这与expression和python中的语句(参见下面的链接)之间的区别有关。
表达式只能包含identifiers、literals和operators。
语句可能要复杂得多。请参阅simple statements和compound statements
python shell将输出表达式的计算结果,但不会与语句一起输出,因为不能保证它的计算结果可以输出。您应该使用print从语句中输出值。
考虑一下如果将x替换为它的值(2)会发生什么:
if 2 == 2:
2您希望解释器输出2吗
发布于 2019-03-07 02:51:04
当您在一行中编写一个变量并执行它时,jupyter notebook假定您想知道该变量的值,并将其隐式转换为print(变量),因此打印出该变量的值。
当您使用多个语句时,您很少想要打印语句中使用的所有变量。所以它没有在这种情况下实现。
https://stackoverflow.com/questions/55030068
复制相似问题