作者:青青河边羊 | 来源:互联网 | 2024-11-18 20:08
Python 中 dir() 和 vars() 函数的对比
参考链接: GeeksforGeeks
在 Python 中,dir() 和 vars() 函数都用于获取对象的属性信息,但它们的用途和行为有所不同。了解这些差异有助于更好地利用这两个函数。
dir() 函数:
- 返回对象的所有属性和方法的列表,包括其父类的属性和方法。
- 如果未传递参数,则返回当前作用域中的名称列表。
- 适用于所有对象,包括内置类型。
vars() 函数:
- 返回对象的属性字典,仅限于实例属性。
- 如果未传递参数,则返回当前局部符号表的字典。
- 只能用于具有
__dict__
属性的对象,如自定义类的实例。
下表总结了 vars() 和 dir() 之间的主要区别:
vars() | dir() |
---|
返回单个对象的属性字典 | 返回对象及其基类的属性列表 |
当未传递参数时,返回当前局部符号表的字典 | 当未传递参数时,返回当前作用域内的名称列表 |
只能用于具有 __dict__ 属性的对象 | 适用于所有对象,包括内置类型 |
示例 1:
Python 代码示例
# 使用 vars() 函数
print(vars(list))
# 使用 dir() 函数
print(dir(list))