Python repr() 内置函数
来自 Python 3 文档
返回一个包含对象可打印表示形式的字符串。对于许多类型,此函数会尝试返回一个字符串,当它被传递给 eval() 时,会生成一个具有相同值的对象;否则,该表示形式是一个用尖括号括起来的字符串,其中包含对象的类型名称以及通常包括对象名称和地址的其他信息。类可以通过定义 __repr__() 方法来控制此函数对其实例返回的内容。
简介
repr() 函数返回一个包含对象可打印表示形式的字符串。repr() 的目标是明确无歧义。对于许多类型,repr() 返回的字符串可以通过 eval() 执行以创建相同的对象。
这与旨在供人类阅读的 str() 不同。
示例
import datetime
# 对于字符串,repr() 会添加引号
print(repr("hello"))
# 对于 datetime 对象,它是明确无歧义的
now = datetime.datetime.now()
print(repr(now))
# 你可以为自己的类定义 __repr__
class Person:
def __init__(self, name):
self.name = name
def __repr__(self):
return f"Person(name='{self.name}')"
p = Person("John")
print(repr(p))
'hello'
datetime.datetime(2023, 10, 27, 10, 0, 0, 123456)
Person(name='John')