Python 内建函数列表 > Python 的内置函数 repr
Python 的内置函数 repr() 是一个非常重要的对象字符串表示函数,其主要功能是返回一个对象的"官方"字符串表示形式(通常称为"representation")。这个字符串通常能够被 Python 解释器读取,并尽可能准确地重建该对象。
可重建性原则:repr() 返回的字符串理论上应该能够通过 eval() 函数重新构造出原对象
与 str() 的区别:相比 str() 函数返回的可读性字符串,repr() 更关注精确性和开发调试的需要
内置对象的 repr:Python 内置类型都有良好的 repr() 实现,比如:
repr([1, 2, 3]) # 返回 '[1, 2, 3]'
repr('hello') # 返回 "'hello'"
调试和开发:在调试代码时查看变量的精确状态
日志记录:记录对象的详细信息
交互式解释器:Python REPL 环境使用 repr() 显示表达式结果
用户可以在自定义类中通过定义 __repr__ 方法来实现对象的 repr() 行为:
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return f"Point({self.x}, {self.y})"
对于没有 __repr__ 方法的对象,默认会返回类似 <module 'sys' (built-in)> 的信息
当 __str__ 未定义时,str() 会调用 __repr__ 作为备用
字符串的 repr() 会包含引号,而 str() 不会