我是Python新手并且通常使用R,并且经常使用ls()
来获取当前环境中所有对象的向量,是否在Python中快速执行同样的操作?
答案 0 :(得分:20)
您可能正在寻找dir
:
不带参数,返回当前本地范围内的名称列表。使用参数,尝试返回该对象的有效属性列表。
这一开始可能并不完全明显,但是当你处于全局范围时(正如你通常在命令行解释器中那样),“当前本地范围”是全局范围(在这种情况下,是__main__
模块)。因此,这将返回您定义的所有变量和函数,您导入的所有模块,以及附加到每个模块或仅__main__
的一些内容。例如:
$ python3.3
>>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__']
>>> import sys
>>> i = 2+3
>>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', 'i', 'sys']
这与sorted(locals().keys())
始终相同,但dir()
更容易输入。当然,它很好地与dir(sys)
并行,以获取sys
模块定义的内容,dir(i)
以获取该整数对象5
等的属性。