如何显示对象';Python中的属性?

如何显示对象';Python中的属性?,python,Python,有什么方法可以让我知道对象属性的值吗? 例如,info=urllib2.urlopen('http://www.python.org/) 我想知道信息的所有属性值。也许我不知道这些信息的属性是什么。str()或list()不能给我答案。你可以使用vars(info)或info.\uuu dict\uuuu。它将以属性名称:值格式作为字典返回对象的命名空间。您只需使用dir(): : 使用参数,尝试返回该对象的有效属性列表 您可以使用Python的。dir(info)将返回对象信息的所有有效属性

有什么方法可以让我知道对象属性的值吗? 例如,
info=urllib2.urlopen('http://www.python.org/)

我想知道信息的所有属性值。也许我不知道这些信息的属性是什么。str()或list()不能给我答案。

你可以使用
vars(info)
info.\uuu dict\uuuu
。它将以属性名称:值格式作为字典返回对象的命名空间。

您只需使用
dir()

:

使用参数,尝试返回该对象的有效属性列表

您可以使用Python的。dir(info)将返回对象信息的所有有效属性

info = urllib2.urlopen('http://www.python.org/')
print dir(info)

要获取对象属性的所有名称,请使用
dir(obj)
。要获取它们的值,请使用
getattr(obj,attr\u name)
。您可以打印所有属性及其值,如下所示:

for attr in dir(obj):
    print(attr, getattr(obj, attr))
如果您不需要内置属性,例如
\uuuu str\uuuuuuuuuuuuuuuuuuuuuuuuuu
等,您只需使用
obj.\uuuuuuuuu dict\uuuuuuuuu
,它将返回对象属性及其值的字典

for k in obj.__dict__:
    print(k, obj.__dict__[k])
所有使用dir()或查看dict的方法基本上都是不可行的

最好检查一下

obj.__class__

为了弄清楚物体到底是什么

然后您应该检查模块的官方API文档


方法和数据可能是私有的,通常不供公众使用,除非文档中另有说明。

dir(info)将提供属性名称,OP要求属性值。Ya。我没有注意到它@sidi。你是对的。我们可以使用vars(info)或info。正如sidi提到的那样。@Wessie
dir(info)
只会列出属性名,这里是询问属性值。我想避免访问私有属性。因此
vars(info)
。感谢您的回答。我知道。
obj.__class__
obj.__class__.__bases__