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