在 Python 中打印对象的属性

Muhammad Waiz Khan 2023年1月30日 2021年2月28日
  1. 在 Python 中使用 Python 中的 dir() 函数打印对象的属性
  2. 在 Python 中使用 vars() 函数打印对象的属性
在 Python 中打印对象的属性

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

在本教程中,我们将探讨如何在 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))

相关文章 - Python Object