由于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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。