Oz1*_*123 1 python types scope
我想编写一个函数来获取范围内的所有变量,然后确定每个变量的类型。我知道 vars()、dir() 和类似的函数,但这些函数返回一个字符串列表。我怎样才能真正获得类型?我想做这样的事情:
#this is just pseudo code
for item in <items in scope>:
if isinstance(item, someclass):
del <item which belongs to someclass>
Run Code Online (Sandbox Code Playgroud)
预先感谢,奥兹
您可能正在寻找locals,它返回一个带有本地变量名称及其值的字典:
for name, value in locals().items():
if isinstance(value, someclass):
do something
Run Code Online (Sandbox Code Playgroud)
好的,我正在编辑这个答案,因为它是最接近我想要的:我想删除所有 numpy 数组。我觉得很烦人的是 numpy 没有“清除所有”八度\matlab,并且 ipython 的 %reset 有点太多了......
所以,这里是:在[24]中:anp=np.r_[1:10]
In [25]: np.who()
Name Shape Bytes Type
===========================================================
anp 9 36 int32
Upper bound on total bytes = 36
In [26]: for name, value in locals().items():
....: if isinstance(value, np.ndarray):
....: print name
....: print value
....: del globals()[name]
....:
anp
[1 2 3 4 5 6 7 8 9]
In [27]: np.who()
Upper bound on total bytes = 0
Run Code Online (Sandbox Code Playgroud)
感谢大家的意愿和努力!
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |