说我们做了以下事情:
for i in dir(foo):
print type(i)
此设置将返回一个字符串列表,但我更感兴趣的是找出foo中的项目类型。什么是一个好方法呢?
答案 0 :(得分:6)
dir()
仅为您提供属性的名称;使用getattr()
function检索实际属性:
for i in dir(foo):
attr = getattr(foo, i)
print type(attr)
您可能也对inspect
module感兴趣; inspect.getmembers()
function为您列出名称和属性:
from inspect import getmembers
for name, attr in getmembers(foo):
print '{}: {}'.format(name, type(attr))
此外,getmembers()
还允许您过滤属性类型:
from inspect import getmembers, ismethod
for name, attr in getmembers(foo, ismethod):
print '{}: {}'.format(name, type(attr))
只会在foo
上显示绑定方法。