You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调试时如何查看类实例的双下划线隐藏参数内容

Python调试时查看双下划线隐藏属性的方法

Python的双下划线开头属性不存在强访问限制,所谓“隐藏”只是解释器自动做了名称修饰(Name Mangling),调试时可以通过以下三种方式直接查看属性值:

  • 直接通过修饰后的真实属性名访问
    名称修饰的规则是:属性会被重命名为_类名__原属性名。对应给出的示例代码,在Spyder调试控制台断点停在arithmetic方法内时,直接执行:

    self._ExampleClass__hiddenVar
    

    就能正常返回属性值4,不会报属性不存在的错误。

  • 通过实例属性字典全量查看
    所有Python实例的属性都存在内置的__dict__字典中,不会被名称修饰隐藏。调试时执行:

    self.__dict__
    

    会直接返回实例绑定的全部键值对,示例中返回结果为{'_ExampleClass__hiddenVar': 4, 'visibleVar': 4},不需要提前记忆修饰规则就能看到所有属性的真实名称和对应值。

  • 直接用Spyder自带的变量浏览器查看
    断点触发后,Spyder界面的Variable Explorer面板会展示当前栈帧的所有变量,找到self条目点击展开,就能看到实例下的所有属性,包括被名称修饰的隐藏属性,直接点击条目就能查看值,不需要手动在控制台输入命令。

注意:_类名__属性名的访问方式属于违反类封装的写法,仅建议在调试排查问题时使用,不要在正式业务代码中用这种方式跨类访问私有属性。

内容的提问来源于stack exchange,提问作者Data4711

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 14:57:22