Возможно, вы ищете locals
, который возвращает dict с именем переменной localals и их значениями:
for name, value in locals().items():
if isinstance(value, someclass):
do something
ОК, я редактирую этот ответ, потому что он наиболее близок к тому, что я хочу:
Я хотел стереть весь массив NumPy. Меня раздражает, что numpy не имеет «clear all» в виде октавы \ matlab, а% reset в ipython - это слишком много ...
Итак, вот оно:
В [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
Спасибо всем, за волю и усилия!