首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jupyter实验室:为什么单行上的变量不能生成输出?

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

Stack Overflow用户
提问于 2019-03-07 02:39:23
回答 2查看 81关注 0票数 0

我遵循了一个关于Jupyter和Python的教程,其中提到如果两个连续的命令如下:

代码语言:javascript
运行
复制
in: x = 2
in: x

我应该得到

代码语言:javascript
运行
复制
out: 2

结果就是。但是,组合块中单行上的x如下所示:

代码语言:javascript
运行
复制
in: x = 2
in: if x == 2:
       x

不打印x变量。单行中的x与作为单个命令的x有什么不同吗?当我写这篇文章的时候,我明白了,一行作为整个命令是不同的,但是是什么潜在的概念或东西使得前两个命令的结果是2,而后三个命令什么都不是?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-07 02:53:07

这与expression和python中的语句(参见下面的链接)之间的区别有关。

表达式只能包含identifiersliteralsoperators

语句可能要复杂得多。请参阅simple statementscompound statements

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

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

代码语言:javascript
运行
复制
if 2 == 2:
    2

您希望解释器输出2

票数 1
EN

Stack Overflow用户

发布于 2019-03-07 02:51:04

当您在一行中编写一个变量并执行它时,jupyter notebook假定您想知道该变量的值,并将其隐式转换为print(变量),因此打印出该变量的值。

当您使用多个语句时,您很少想要打印语句中使用的所有变量。所以它没有在这种情况下实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55030068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档