为什么在Python解释器中输入_会返回True?

Azs*_*sgy 2 python interpreter

我得到了非常奇怪的解释器行为:

>>> _
True
>>> type(True)
<class 'bool'>
>>> type(_)
<class 'bool'>
Run Code Online (Sandbox Code Playgroud)

我尝试过这个因为_在Bpython中出现了一个建议,但它似乎也适用于普通的解释器.我在用

Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么_是True的替代品吗?是遗产,类似于";" 可以用来结束命令,但是没有必要/鼓励?

编辑:这似乎是随机的.这不会发生在一个新的终端,但一旦我开始工作,_开始成为现实.这到底是怎么回事?

Jon*_*nts 7

_将是最后一次评估命令的结果 - 在解释器启动时没有任何所以你会得到一个NameError...之后,你将获得前一个结果...尝试打开一个新的解释器并做2 + 2...你会看到4返回,然后键入_......例如:

>>> _

Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    _
NameError: name '_' is not defined
>>> 2 + 2
4
>>> _
4
Run Code Online (Sandbox Code Playgroud)