在 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