dir()

Python 的 dir() 函数用于查看对象的属性和方法列表,其核心功能如下:

基础用法

查看当前作用域的所有名称
print(dir())  输出: ['__annotations__', '__builtins__', ...]

查看对象的属性和方法
import math
print(dir(math))  输出: ['__doc__', 'sqrt', 'sin', ...]

关键特性

  1. 无参调用
    返回当前作用域的所有变量、函数和模块名称(按字母排序)[3]

  2. 对象分析
    传入对象时返回其可用属性/方法(包括继承成员)[1]

    class MyClass:
        def __init__(self):
            self.value = 42
        def show(self): pass
    
    print(dir(MyClass()))  输出: ['__class__', 'show', 'value', ...]
    
  3. 动态更新
    对象属性变化后结果实时更新[3]

    obj = MyClass()
    print(dir(obj))  不含 'new_attr'
    obj.new_attr = True
    print(dir(obj))  新增 'new_attr'
    

使用场景

  • 调试时快速检查对象结构
  • 动态探索模块功能(如 dir(pandas)
  • getattr()/setattr() 配合实现反射

⚠️ 注意:结果包含魔术方法(如 __init__),实际使用建议结合 help() 查看详细文档。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容