Python repr() 函数



Python 的 repr() 函数用于获取对象的字符串表示形式。

此函数对于调试和记录目的非常有用,因为它与 str() 函数相比,提供了对象更详细、更清晰的表示形式。虽然 str() 主要用于创建人类可读的字符串,但 repr() 提供的字符串在传递给 eval() 函数时,可以重新创建原始对象。

语法

以下是 Python repr() 函数的语法:

repr(x)

参数

此函数将一个对象 'x' 作为参数,您希望获取该对象的字符串表示形式。

返回值

此函数返回一个字符串,当作为 Python 代码执行时,将重新创建原始对象。

示例 1

在下面的示例中,我们使用 repr() 函数获取字符串对象 "Hello, World!" 的字符串表示形式:

text = "Hello, World!"
representation = repr(text)
print('The string representation obtained is:',representation)

输出

以下是以上代码的输出:

The string representation obtained is: 'Hello, World!'

示例 2

在这里,我们使用 repr() 函数获取整数对象 "42" 的字符串表示形式:

number = 42
representation = repr(number)
print('The string representation obtained is:',representation)

输出

以上代码的输出如下:

The string representation obtained is: 42

示例 3

在这里,我们获取列表 "[1, 2, 3]" 的字符串表示形式。输出是一个字符串,在 Python 代码中使用时,将重新创建原始列表:

my_list = [1, 2, 3]
representation = repr(my_list)
print('The string representation obtained is:',representation)

输出

获得的结果如下所示:

The string representation obtained is: [1, 2, 3]

示例 4

在这种情况下,repr() 函数与复数 "(2+3j)" 一起使用:

complex_num = complex(2, 3)
representation = repr(complex_num)
print('The string representation obtained is:',representation)

输出

以下是以上代码的输出:

The string representation obtained is: (2+3j)

示例 5

在此示例中,我们定义了一个名为 "Point" 的自定义类,它具有 "x" 和 "y" 属性来表示坐标。此外,我们在类中实现了 "repr" 方法以自定义字符串表示形式。之后,我们创建了一个名为 "point_instance" 的类的实例,其坐标为 "(1, 2)"。通过使用 repr() 函数,我们获取格式化的字符串 "Point(1, 2)",表示点的坐标:

class Point:
   def __init__(self, x, y):
      self.x = x
      self.y = y
   def __repr__(self):
      return f'Point({self.x}, {self.y})'
point_instance = Point(1, 2)
representation = repr(point_instance)
print('The string representation obtained is:',representation)

输出

产生的结果如下:

The string representation obtained is: Point(1, 2)
python_type_casting.htm
广告