Skip to main content
 首页 » 编程设计

python之在 dir() 中找出类型

2025年05月04日16davidwang456

假设我们执行以下操作:

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)方法。