python - 在 dir() 中找出类型

标签 python python-2.7

假设我们执行以下操作:

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

关于python - 在 dir() 中找出类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16445535/

相关文章:

python - 这个函数正确吗?

Django Oauth Toolkit 2-legged 和 3-legged

python - 以更 Pythonic 的方式修改这个简单的数组创建函数

python-2.7 - 升级Elasticsearch DSL

python - mac - pip 安装 pymssql 错误

python - 使用 Python 进行基本 xml 解析

python - 如何使用 cron 在 Raspberry Pi 上自动化 Python 程序?

python - Tensorflow 每 channel 量化

python - 如何将字典项作为属性访问,反之亦然

python - python 中的 Try-Except block