當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dir()和vars()的區別用法及代碼示例


由於Python以屬於各自對象的字典的形式存儲它們的實例變量dir()vars()函數用於列出 Python 類的實例/對象的屬性。盡管這些函數具有類似的實用程序,但它們具有重要的單獨用例。
dir()函數:
該函數顯示的屬性比vars()函數更多,因為它不限於實例。它還顯示類屬性。它還顯示其祖先類的屬性。
vars()函數:
該函數以字典的形式顯示實例的屬性。
下表提供了 var() 和 dir() 之間的一些顯著差異:

vars() dir()
返回使用的單個類的對象的字典 返回使用的單個類及其基類的對象的字典
不傳遞參數時返回當前本地符號表對應的字典 當不傳遞任何參數時,它返回當前本地範圍內的名稱列表
如果傳遞模塊、類或類實例對象作為參數(或具有 __dict__ 屬性的任何其他內容),它會返回與對象的符號表相對應的字典。 當傳遞參數時,它嘗試返回該對象的有效屬性列表
由於實例內置類型沒有 __dict__ 屬性,因此在內置類型實例中使用時會返回錯誤。 它可以與所有內置類型一起使用而不會出現錯誤

示例 1:

Python3


vars(list).keys()

輸出:

示例 2:

Python3


dir(list)

輸出:


相關用法


注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 Difference between dir() and vars() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。