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

深入分析Python中repr()函数在字符串格式化中的作用

发布时间:2023-12-16 21:47:07

repr()函数是Python中内置的一个函数,用于将对象转化为供解释器读取的形式。它返回一个字符串,代表对象的可打印形式。在字符串格式化中,repr()函数可以让字符串对象以特定的格式进行输出,具体用法如下所示:

例1:使用repr()函数输出字符串对象

name = "John"
print(repr(name))

输出:

'John'

在这个例子中,repr()函数将字符串对象name转化为了形如'John'的字符串,包含了引号并用单引号括起来。这个输出形式会准确的表达字符串对象的内容,并且可以直接被解释器读取。

例2:使用repr()函数在字符串格式化中输出浮点数

num = 3.14159
print(repr(num))

输出:

3.14159

在这个例子中,repr()函数将浮点数对象num转化为了标准的浮点数表示形式,返回了一个字符串'3.14159'。这个输出形式准确的表达了浮点数对象的值,并且可以直接被解释器读取。

例3:使用repr()函数输出对象的可打印形式

class MyClass:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        
    def __repr__(self):
        return f'MyClass({self.x}, {self.y})'
        
obj = MyClass(1, 2)
print(repr(obj))

输出:

MyClass(1, 2)

在这个例子中,我们定义了一个名为MyClass的类,并在类中重写了__repr__()方法。这个方法返回了一个表示对象的可打印形式的字符串。在print(repr(obj))中,repr()函数调用了这个类的__repr__()方法,返回了'MyClass(1, 2)'这个字符串。这个输出形式描述了这个对象的内部数据,并且可以被解释器直接读取。

总结:

在字符串格式化中,repr()函数可以将各种类型的对象转化为字符串,使其以特定的可打印形式进行输出。对于字符串对象和浮点数对象,默认的repr()函数会保留其原始的形式。对于自定义的类对象,我们可以通过重写类的__repr__()方法来实现自定义的字符串输出形式。repr()函数在debug日志、错误信息以及交互式编程中经常被使用,以便给开发者提供更多关于对象的信息。