为什么最后一个命令变量“_”不出现在dir()中?

时间:2017-11-30 20:39:05

标签: python

在Windows上启动Python 2.7解释器后的第一行:

>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']

输入dir()命令后,应定义特殊变量_

>>> _
['__builtins__', '__doc__', '__name__', '__package__']

但是,即使在输入_后,当我尝试使用dir()列出交互式命名空间中的所有名称时,它也不会显示:

>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']

如果解释器不在解释器的命名空间中,解释器如何识别它?

1 个答案:

答案 0 :(得分:10)

_进入内置命名空间,而不是全局变量。

>>> import __builtin__
>>> 3
3
>>> __builtin__._
3

dir() doesn't list built-ins:

  

不带参数,返回当前本地范围内的名称列表。

内置范围与您运行dir()的范围不同。