我是Numpy的新手,嘗試搜索函數以列出變量及其大小(矩陣尺寸以及內存使用情況),但找不到。我基本上是在尋找一個相當於MATLAB和Octave中的「whos」命令。 Python Numpy中是否存在這樣的命令?Python中的「whos」命令的等效Numpy
感謝
我是Numpy的新手,嘗試搜索函數以列出變量及其大小(矩陣尺寸以及內存使用情況),但找不到。我基本上是在尋找一個相當於MATLAB和Octave中的「whos」命令。 Python Numpy中是否存在這樣的命令?Python中的「whos」命令的等效Numpy
感謝
如果使用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'>
總的來說,我強烈建議做在Python交互工作的時候使用IPython的numpy的/ SciPy的/ matplotlib /等等。費爾南多佩雷斯和其他人正在積極增加很多很棒的功能。
有沒有辦法將」whos「應用於特定的變量名稱,比如」whos a「? – Leo
Python有一個內置函數dir()
,它返回當前本地作用域中的名稱列表。
這或多或少的作用等同於誰。
在交互式殼(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']
衛生組織命令打印關於所有變量的信息。我定義下面的函數來獲取有關個人或一組變量的信息:
import numpy as np
def whosMy(*args):
sequentialTypes = [dict, list, tuple]
for var in args:
t=type(var)
if t== np.ndarray:
print type(var),var.dtype, var.shape
elif t in sequentialTypes:
print type(var), len(var)
else:
print type(var)
用法:
whosMy(var1)
多個變量:
whosMy(var1,var2,var3)
注意,這是類似IDL的'幫助「命令(以防任何人應該搜索IDL-> python) – keflavich