为什么在Python解释器中键入u会返回True?

为什么在Python解释器中键入u会返回True?,python,interpreter,Python,Interpreter,我变得非常怪异: >>> _ True >>> type(True) <class 'bool'> >>> type(_) <class 'bool'> 有人能解释为什么uu是真的替代品吗?它是否是遗留的,类似于“;”如何用于结束命令,但不是必需/鼓励的 编辑:这似乎是随机的。这不会发生在新的终端上,但一旦我开始做某事,它就会变成现实。到底怎么回事 2 + 1 Out[19]: 3 _ + 3 Out[20]: 6

我变得非常怪异:

>>> _
True
>>> type(True)
<class 'bool'>
>>> type(_)
<class 'bool'>
有人能解释为什么uu是真的替代品吗?它是否是遗留的,类似于“;”如何用于结束命令,但不是必需/鼓励的

编辑:这似乎是随机的。这不会发生在新的终端上,但一旦我开始做某事,它就会变成现实。到底怎么回事

2 + 1
Out[19]: 3

_ + 3
Out[20]: 6

存储上次返回的值。试试看。

\u
只会给出最后一次评估的结果(在REPL中,而不是在普通脚本中)。这也可以神秘地阻止对象的出现。

\u
将是最后一个求值命令的结果-在解释器启动时,没有任何命令,因此您将得到
名称错误
。。。在此之后,您将得到上一个结果。。。尝试打开一个新的解释器并执行
2+2
。。。您将看到返回的
4
,然后键入
。。。例如:

>>> _

Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    _
NameError: name '_' is not defined
>>> 2 + 2
4
>>> _
4
>_
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
_
名称错误:未定义名称“\u1”
>>> 2 + 2
4.
>>> _
4.

\在交互式对讲机中,通常是您最后收到的输出

>>> 1 + 1
2
>>> _
2

注意:它仅适用于输出(打印数据不适用)。

我得到
NameError:name'.'未定义
。关闭终端,重新开始,再试一次。请参阅@thefourtheye这也是我的想法,但每次我回去工作时它似乎都会重新出现。请注意,如果您这样做,请键入(True)
,然后键入(u),您会得到作为输出的
,而不是
。相关:
>>> 1 + 1
2
>>> _
2