repr()
是 Python 内置的一个函数,用于将对象转化为供解释器读取的形式的字符串。它的主要作用是返回一个字符串,这个字符串可以用来重新创建该对象,或者至少能够提供关于对象的详细信息。通常情况下,repr()
返回的字符串可以通过 eval()
函数重新变回原始的对象。
函数语法
repr(object)
参数:
object
: 要转化为字符串的对象。
示例代码
下面我们来看几个示例代码来详细了解 repr()
函数的用法和效果。
示例 1:对于简单的数据类型,repr()
的效果通常和 str()
相同。
num = 42
string = "Hello, world!"
print(repr(num)) # 输出: '42'
print(repr(string)) # 输出: 'Hello, world!'
示例 2:对于复杂数据类型,repr()
通常提供更多的信息,以便于重新创建对象。
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(3, 5)
print(repr(p)) # 输出: <__main__.Point object at 0x...>
示例 3:自定义 repr()
方法可以控制对象转化后的字符串形式。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person(name={self.name}, age={self.age})"
person = Person("Alice", 30)
print(repr(person)) # 输出: Person(name=Alice, age=30)
总结
repr()
函数用于返回一个对象的字符串表示形式,供解释器读取。- 对于简单的数据类型,通常和
str()
的效果相同。 - 对于复杂的数据类型,
repr()
通常提供更多的信息,以便于重新创建对象。 - 可以通过自定义类的
__repr__()
方法来控制对象转化后的字符串形式。