Python:在locals中查找键的类型()

时间:2012-04-20 22:28:51

标签: python introspection

Locals()是一个词典。如果我做一个简单的

for i in locals().keys():
     type(i)

返回的是它们都是字符串(是的,事实上,它们是)但这些键表示不同的类型 - 例如,一个模块。一些引用类型(对象)以及基本类型(例如int,string)。

从某种意义上说,我想从字符串中提取名称。看看如何使用字符串上的属性执行此操作,但没有去。我相信我需要内省的东西,但是什么呢?

1 个答案:

答案 0 :(得分:2)

locals().keys()返回本地空间中绑定的所有变量名称。因为它们是名字,所以它们都是字符串。 (在Python 2.x中,您也可以使用locals().iterkeys()来获取迭代器。)

请尝试使用locals().values()。对于Python 2.x,您可以使用locals().itervalues()来获取迭代器。

locals().items()获得key, value对。对于Python 2.x,您可以使用locals().iteritems()来获取迭代器。