在一个对象中打印所有属性的类型-最佳方法?

时间:2019-11-14 08:24:31

标签: python object types attributes

我发现this post回答了这个问题,但我认为应该有一种更简单的方法。

这是我的示例:从对象波士顿,我想知道服装是字符串还是数组。 a)给我名字。 b)显然没有给我我想要的信息 c)给我我想要的东西 但是我认为选项c)过于复杂,应该有更清洁的方法来做到这一点。有什么想法吗?

from sklearn.datasets import *
boston = load_boston()

a= dir(boston)
b=[type(x) for x  in boston]
c=[type(getattr(boston, name)).__name__ for name in dir(boston) ]

print(a,"\n", b,"\n",c)

出局:

['DESCR', 'data', 'feature_names', 'filename', 'target'] 
[<class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>] 
['str', 'ndarray', 'ndarray', 'str', 'ndarray']

1 个答案:

答案 0 :(得分:1)

print([x for x in boston])
print([type(boston[x]) for x in boston])

出局:

['data', 'target', 'feature_names', 'DESCR', 'filename']
[<class 'numpy.ndarray'>, <class 'numpy.ndarray'>, <class 'numpy.ndarray'>, <class 'str'>, <class 'str'>]