当我在python中输入dir()
时,它可以显示所有可见的变量,例如:
>>> dir()
['ACCT', 'ACEV', 'ALLOW_THREADS', 'ANNOTE_FONT', 'Annotation', 'AnnoteFinder', 'Arrow', 'Artist', 'AutoLocator', 'Axes', 'BS_KM', 'BUFSIZE', 'Button', 'CF_KM']
现在我想要一个能够列出某种类型的所有变量的函数,例如“str
”,通过:
>>list_all_variable_of_type(str)
它将返回类型为'str'的变量列表。
如何编写'list_all_variable_of_type()
'函数?
答案 0 :(得分:8)
dir
只显示名称。您需要globals()
才能访问实际变量。所以可能:
[name for name, value in globals().items() if isinstance(value, basestring)]
(请注意,如果你依赖它来访问一组未知的变量,你可能做错了;你应该将数据存储在像dict这样的整体数据结构中。)