当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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