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

使用repr()函数在Python中生成文件对象的字符串表示形式

发布时间:2024-01-14 14:37:49

repr()函数在Python中用来生成对象的字符串表示形式。它返回一个包含对象的类型和唯一标识符的字符串,通常用于调试和日志记录。

下面是使用repr()函数的几个例子:

例子1:使用repr()函数生成字符串的表示形式

name = "John"
print(repr(name))
# 输出:'John'

例子2:使用repr()函数生成数字的表示形式

number = 10
print(repr(number))
# 输出:10

例子3:使用repr()函数生成列表的表示形式

fruits = ['apple', 'banana', 'orange']
print(repr(fruits))
# 输出:['apple', 'banana', 'orange']

例子4:使用repr()函数生成字典的表示形式

person = {'name': 'John', 'age': 30, 'city': 'New York'}
print(repr(person))
# 输出:{'name': 'John', 'age': 30, 'city': 'New York'}

例子5:使用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("John", 30)
print(repr(person))
# 输出:Person(name='John', age=30)

需要注意的是,repr()生成的字符串可以直接通过eval()函数转为原始的对象。

例子6:使用eval()函数将repr()生成的字符串转为对象

person_str = "Person(name='John', age=30)"
person = eval(person_str)
print(person)
# 输出:Person(name='John', age=30)

总结:

repr()函数可以生成对象的字符串表示形式,方便调试和日志记录。可以通过eval()函数将repr()生成的字符串转为原始对象。但是需要谨慎使用eval()函数,因为它可以执行字符串中的任意代码,可能存在安全风险。