【问题标题】:Jupyter lab: why variable on single line does not generate output?Jupyter 实验室:为什么单行变量不生成输出?
【发布时间】:2019-03-06 18:39:22
【问题描述】:

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

in: x = 2
in: x

我应该得到

out: 2

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

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

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

【问题讨论】:

    标签: python python-3.x jupyter jupyter-lab


    【解决方案1】:

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

    表达式只能包含identifiersliteralsoperators

    语句可能要复杂得多。见simple statementscompound statements

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

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

    if 2 == 2:
        2
    

    你希望解释器输出2吗?

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-11-09
        • 1970-01-01
        • 2020-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多