在Python中,`print(obj)`的输出结果常令人困惑,根源在于对象的`__str__`与`__repr__`方法未被充分理解与合理实现。二者虽非最复杂的魔法方法,却对代码可读性与调试效率至关重要:`__str__`面向用户,提供简洁、友好的字符串表示;`__repr__`面向开发者,强调明确性与可调试性,理想情况下应返回可复现对象的表达式。忽视二者的差异,易导致`print`输出信息模糊、日志难以追踪、交互式调试低效等问题。
print函数__str____repr__字符串表示调试输出
2026-06-23