欢迎访问宙启技术站
智能推送

Python中repr函数的字符串格式化方法

发布时间:2023-12-14 21:11:06

repr() 函数在 Python 中用于生成对象的字符串表示形式,它返回一个包含对象类型名称和对象的内部表示的字符串。通常情况下,repr() 返回的字符串可以用 eval() 函数重新生成该对象。

repr() 的字符串格式化方法可以使用 % 运算符或者 str.format() 方法,下面是一些示例:

1. 使用 % 运算符进行字符串格式化:

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __repr__(self):
        return 'Point(%r, %r)' % (self.x, self.y)

p = Point(1, 2)
print(repr(p))  # 输出: Point(1, 2)

2. 使用 str.format() 方法进行字符串格式化:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return 'Person(name={}, age={})'.format(self.name, self.age)

p = Person('Alice', 25)
print(repr(p))  # 输出: Person(name=Alice, age=25)

3. 对于复杂的格式化需求,你可以使用 f-strings(Python 3.6+):

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def __repr__(self):
        return f'Rectangle(width={self.width}, height={self.height})'

r = Rectangle(5, 10)
print(repr(r))  # 输出: Rectangle(width=5, height=10)

这些例子展示了如何使用 % 运算符、str.format() 方法和 f-strings 对 repr() 函数进行字符串格式化。你可以根据自己的需求选择适合的格式化方法。