详解Python中repr()函数在各种内置数据类型上的具体实现细节
发布时间:2024-01-06 00:32:52
在Python中,repr()函数是用于生成描述对象的字符串表示形式的内置函数。它可以用于各种内置数据类型,包括数字、字符串、列表、元组、字典等。repr()函数返回的字符串可以用eval()函数重新解释为原始的对象。
以下是repr()函数在不同类型上的具体实现细节以及使用示例:
1. 数字类型:
- 整数型:repr()函数返回整数的字符串表示形式。例如:
num = 100
print(repr(num)) # 输出 '100'
- 浮点型:repr()函数返回浮点数的字符串表示形式。例如:
num = 3.14
print(repr(num)) # 输出 '3.14'
2. 字符串类型:repr()函数返回字符串的引号括起来的表示形式,包括转义字符。例如:
str_val = 'Hello, World!' print(repr(str_val)) # 输出 "'Hello, World!'"
3. 列表类型:repr()函数返回列表的字符串表示形式,包括方括号和元素的repr()结果。例如:
lst = [1, 2, 3, 'a', 'b'] print(repr(lst)) # 输出 "[1, 2, 3, 'a', 'b']"
4. 元组类型:repr()函数返回元组的字符串表示形式,包括圆括号和元素的repr()结果。例如:
tpl = (1, 2, 3, 'a', 'b') print(repr(tpl)) # 输出 "(1, 2, 3, 'a', 'b')"
5. 字典类型:repr()函数返回字典的字符串表示形式,包括花括号、键值对的repr()结果以及逗号分隔的键值对。例如:
dct = {'name': 'John', 'age': 30, 'city': 'New York'}
print(repr(dct)) # 输出 "{'name': 'John', 'age': 30, 'city': 'New York'}"
6. 自定义类:可以通过在类中定义__repr__()方法来自定义repr()函数的行为。__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()函数在不同类型上的具体实现细节是返回一个字符串,该字符串表示了对象的描述形式。在大多数情况下,repr()返回的字符串可以通过eval()函数重新解释为原始的对象。自定义类可以通过定义__repr__()方法来自定义repr()的行为。
