当前位置: 首页 > news >正文

【PyCharm调试】显示一个对象值时会调用的方法

在 PyCharm 调试时,当需要显示一个对象的值时,它会调用对象的 __repr__() 方法或 __str__() 方法。具体来说:

  1. 优先调用 __repr__()
    • PyCharm 首先尝试调用对象的 __repr__() 方法。
    • __repr__() 是一个为开发者设计的方法,应该返回一个 精准且完整 的字符串,能够唯一标识这个对象,通常以 <ClassName at 0x...> 这样的格式显示。
  2. __repr__() 不可用时调用 __str__()
    • 如果对象未定义 __repr__(),PyCharm 会尝试调用 __str__() 方法。
    • __str__() 是为用户设计的方法,应该返回一个 简洁且可读性更高 的字符串。
  3. 默认行为
    • 如果对象未定义 __repr__()__str__() 方法,Python 会使用其默认实现,即基类 object__repr__() 方法。它通常返回类似 <ClassName object at 0x...> 的内容。

示例

以下代码可以帮助理解 PyCharm 调用 __repr__()__str__() 的行为:

class MyClass:def __repr__(self):return "MyClass(repr)"def __str__(self):return "MyClass(str)"# 在调试窗口中
obj = MyClass()
print(obj)  # 输出会调用 __str__(): MyClass(str)

http://www.mrgr.cn/news/80121.html

相关文章:

  • 探索 Python 编程调试案例:程序平均值的修复过程
  • libevent-Reactor设计模式【1】
  • pytest入门一:用例的执行范围
  • 【Linux网络编程】传输协议UDP
  • ORACLE逗号分隔的字符串字段,关联表查询
  • babeltrace与CTF相关学习笔记-1
  • 长短期记忆神经网络(LSTM)介绍
  • 【ADS射频电路学习笔记】1. ADS基本操作
  • PHP搭建环境
  • depth wisepoint wise
  • 【收藏】Cesium 限制相机倾斜角(pitch)滑动范围
  • faster-RCNN训练【环境配置→自建数据集→训练→改错】
  • C语言实现八大排序算法
  • 【C语言】库函数常见的陷阱与缺陷(六):输入输出函数
  • kubeadm安装K8s集群之高可用组件keepalived+nginx及kubeadm部署
  • OSPF协议
  • ubuntu20.04复现 Leg-KILO
  • centos7的yum镜像源设置
  • 暂停一下,给Next.js项目配置一下ESLint(Next+tailwind项目)
  • 程序的调试
  • 6.2 MapReduce工作原理
  • QT笔记- QSystemTrayIcon系统托盘功能完整示例
  • 【C++】简单计算器问题的深度解析与优化对比
  • 【Qt】信号、槽
  • ESP32-S3模组上跑通ES8388(30)
  • C++3--内联函数、auto