在 Python 中列印物件的屬性
Muhammad Waiz Khan
2023年10月10日
本教程將講解在 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))