2024-04-17 23:18:57 发布
网友
我想写一个函数,它获取一个范围内的所有变量,然后确定 每个变量的类型。 我知道vars()、dir()和类似的函数,但是这些函数返回一个字符串列表。 我怎样才能得到类型? 我想做些类似的事情:
#this is just pseudo code for item in <items in scope>: if isinstance(item, someclass): del <item which belongs to someclass>
提前谢谢你, 盎司
您可以使用eval-
eval
for item in locals(): # although locals() is a dict, you can iterate through its keys. obj = eval(item) print type(obj) # this prints the type of the object if isinstance(obj, someclass): # do something
您可能正在寻找locals,它返回一个具有局部变量名及其值的dict:
locals
for name, value in locals().items(): if isinstance(value, someclass): do something
好吧,我正在编辑这个答案,因为它是我想要的最接近的答案: 我想删除所有的numpy数组。我发现numpy没有“clear all”的la octave\matlab,而且ipython的%重置有点太多了。。。在
所以,这里是: 在[24]:anp=np.r_[1:10]
谢谢大家,感谢你们的意志和努力!在
要获取对象的类型,可以使用
type(obj)
要获取每个局部变量的类型,可以使用
(在python3.x中,应该使用list(locals().values())而不是{},因为在循环过程中要修改{})
list(locals().values())
您可以使用
eval
-您可能正在寻找
locals
,它返回一个具有局部变量名及其值的dict:好吧,我正在编辑这个答案,因为它是我想要的最接近的答案: 我想删除所有的numpy数组。我发现numpy没有“clear all”的la octave\matlab,而且ipython的%重置有点太多了。。。在
所以,这里是: 在[24]:anp=np.r_[1:10]
^{pr2}$谢谢大家,感谢你们的意志和努力!在
要获取对象的类型,可以使用
要获取每个局部变量的类型,可以使用
^{pr2}$(在python3.x中,应该使用},因为在循环过程中要修改{})
list(locals().values())
而不是{相关问题 更多 >
编程相关推荐