由於Python以屬於各自對象的字典的形式存儲它們的實例變量dir()和vars()函數用於列出 Python 類的實例/對象的屬性。盡管這些函數具有類似的實用程序,但它們具有重要的單獨用例。
dir()函數:
該函數顯示的屬性比vars()函數更多,因為它不限於實例。它還顯示類屬性。它還顯示其祖先類的屬性。
vars()函數:
該函數以字典的形式顯示實例的屬性。
下表提供了 var() 和 dir() 之間的一些顯著差異:
vars() | dir() |
---|---|
返回使用的單個類的對象的字典 | 返回使用的單個類及其基類的對象的字典 |
不傳遞參數時返回當前本地符號表對應的字典 | 當不傳遞任何參數時,它返回當前本地範圍內的名稱列表 |
如果傳遞模塊、類或類實例對象作為參數(或具有 __dict__ 屬性的任何其他內容),它會返回與對象的符號表相對應的字典。 | 當傳遞參數時,它嘗試返回該對象的有效屬性列表 |
由於實例內置類型沒有 __dict__ 屬性,因此在內置類型實例中使用時會返回錯誤。 | 它可以與所有內置類型一起使用而不會出現錯誤 |
示例 1:
Python3
vars(list).keys()
輸出:
示例 2:
Python3
dir(list)
輸出:
相關用法
- Python dir()用法及代碼示例
- Python dir用法及代碼示例
- Python dir方法用法及代碼示例
- Python dict()用法及代碼示例
- Python divmod()用法及代碼示例
- Python dictionary cmp()用法及代碼示例
- Python dictionary type()用法及代碼示例
- Python dictionary fromkeys()用法及代碼示例
- Python dictionary get()用法及代碼示例
- Python dictionary setdefault()用法及代碼示例
- Python dictionary update()用法及代碼示例
- Python dict pop()用法及代碼示例
- Python dict popitem()用法及代碼示例
- Python dict keys()用法及代碼示例
- Python dict items()用法及代碼示例
- Python dict update()用法及代碼示例
- Python dict setdefault()用法及代碼示例
- Python dict fromkeys()用法及代碼示例
- Python dictionary values()用法及代碼示例
- Python distributed.diagnostics.progressbar.progress用法及代碼示例
- Python distributed.fire_and_forget用法及代碼示例
- Python distributed.futures_of用法及代碼示例
- Python distributed.worker_client用法及代碼示例
- Python distributed.get_worker用法及代碼示例
- Python distributed.get_client用法及代碼示例
注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 Difference between dir() and vars() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。