在 Python 中打印对象的属性

本教程将讲解在 Python 中打印对象属性的各种方法。面向对象编程中的属性是一个类或一个实例的属性。例如,一个名为 student 的类可以有 nameroll no 和 marks 等属性。每个类的实例都共享一个类的所有属性。

在本教程中,我们将探讨如何在 Python 中获取和打印对象的属性。

在 Python 中使用 Python 中的 dir() 函数打印对象的属性

内建的 dir() 函数,在调用时没有参数的情况下,会返回当前本地作用域中的名称列表,当传递一个对象作为参数时,会返回该对象的有效属性列表。

要打印对象的属性,我们需要将对象传给 dir() 函数,并打印 dir() 对象返回的对象属性。我们可以使用 pprint 模块中的 pprint() 方法来打印格式完善的属性。下面的示例代码演示了如何使用 dir() 函数来打印对象的属性。

from pprint import pprint

mylist = list()
pprint(dir(mylist))

输出:

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', ... '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', ... 'remove', 'reverse', 'sort']

在 Python 中使用 vars() 函数打印对象的属性

vars() 函数在没有参数的情况下调用时,返回带有当前本地符号表的字典。如果一个对象被传递给 vars() 函数,它将返回该对象的 __dict__ 属性。如果作为输入提供的对象没有 __dict__ 属性,则会引发 TypeError

下面的代码示例演示了如何在 Python 中使用 vars() 函数来打印一个对象的属性。

from pprint import pprint

pprint(vars(myobject))