假设我们执行以下操作:
for i in dir(foo):
print type(i)
此设置将返回一个字符串列表,但我更感兴趣的是找出 foo 中项目的类型。执行此操作的好方法是什么?
请您参考如下方法:
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 上的绑定(bind)方法。
