相当于NumPy中的“whos”命令

时间:2011-10-15 00:42:35

标签: python matlab numpy octave

我是Numpy的新手并试图搜索一个函数来列出变量及其大小(矩阵维度和内存使用情况)。

我基本上在寻找MATLAB和Octave中“whos”命令的等价物。在NumPy中是否存在任何此类命令?

5 个答案:

答案 0 :(得分:24)

如果您使用IPython,则内置whos命令:

In [9]: whos
Variable   Type       Data/Info
-------------------------------
a          ndarray    4x4x3: 48 elems, type `int64`, 384 bytes
b          ndarray    100000: 100000 elems, type `int64`, 800000 bytes (781 kb)
np         module     <module 'numpy' from '/Li<...>kages/numpy/__init__.py'>

总的来说,我强烈建议在使用numpy / scipy / matplotlib / etc在python中进行交互式工作时使用IPython。费尔南多佩雷斯和其他人正在积极增加许多伟大的功能。

答案 1 :(得分:7)

Python有一个内置函数dir(),它返回当前本地范围内的名称列表。

答案 2 :(得分:2)

这或多或少与谁相同。

在交互式shell(IDLE)

>> import os
>> import sys
>> a = 10
>> def MyWho():
       print [v for v in globals().keys() if not v.startswith('_')]
>> MyWho()
['a', 'MyWho', 'sys', 'os']
>> import numpy
>> MyWho()
['a', 'MyWho', 'numpy', 'sys', 'os'] 

答案 3 :(得分:2)

whos 命令打印有关所有变量的信息。我定义了以下函数来获取有关个体或一组变量的信息:

 whosMy(var1)

用法:

 whosMy(var1,var2,var3)

表示多个变量:

{a=1, b=2, c=3}, {a2=1, b2=2, c2=3}, {a3=1, b3=2, c3=3},

答案 4 :(得分:0)

尝试使用:type(VAR_NAME) 这将输出该特定变量VAR_NAME

的类类型