在 Python 中打印对象的属性
Muhammad Waiz Khan
2023年1月30日
2021年2月28日
本教程将讲解在 Python 中打印对象属性的各种方法。面向对象编程中的属性是一个类或一个实例的属性。例如,一个名为 student
的类可以有 name
、roll 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))