Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-builtin-functions-dir.html

python 用于获取指定对象的属性和方法列表的内置函数 dir 详解

Python 内置函数 Python 内置函数


dir 是 Python 的一个内置函数,用于获取指定对象的属性和方法列表。

函数语法

dir([object])

参数:

  • object (可选):要检查的对象。如果提供了对象参数,dir 函数会返回该对象的属性和方法列表。如果没有提供对象参数,dir 函数会返回当前作用域内的所有属性和方法列表。

示例代码

示例 1:对象为列表

my_list = [1, 2, 3]
result = dir(my_list)
print(result)

运行结果:

['__add__', '__class__', '__contains__', ... 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

示例 2:对象为自定义类

class MyClass:
    def __init__(self):
        self.my_attribute = 42
    
    def my_method(self):
        pass

my_object = MyClass()
result = dir(my_object)
print(result)

运行结果:

['__class__', '__delattr__', '__dict__', ... 'my_attribute', 'my_method', 'my_method']

示例 3:对象为模块

import math
result = dir(math)
print(result)

运行结果:

['__doc__', '__loader__', '__name__', ... 'sin', 'sqrt', 'tan']

示例 4:无对象参数

result = dir()
print(result)

运行结果: (这会返回当前作用域内的所有属性、变量和函数等)

总结

如果提供了对象参数,它会返回该对象的所有属性和方法的名称。如果没有提供对象参数,它会返回当前作用域内的所有名称,包括变量、函数、模块等。这对于调试和探索代码非常有用,因为它允许您查看对象可以访问哪些属性和方法。在与自定义类、模块或其他对象交互时,dir 可以帮助您了解可以使用哪些属性和方法。

函数语法getattr(object,name[,default])参数:object:需要获取属性的对象。通过getattr,你可以写出更 ...
函数语法vars([object])参数:object(可选):要检索属性的对象。示例1:检索模块的属性和属性值:importmathmod ...
函数语法setattr(object,attribute,value)参数:object:需要设置属性的对象。name)运行结果:Alice ...
hasattr()是Python内置的一个函数,用于判断一个对象是否包含指定的属性(属性名)。make=make#检查类是否具有名为"whe ...
不过需要注意的是,可哈希对象(即不可变对象)才能被哈希,因为哈希值在对象的生命周期中不能改变。14)hash_value=hash(tupl ...