__repr__和__str__
时间: 2024-06-16 21:06:07 浏览: 114
__repr__和__str__都是Python中的特殊方法,用于定义对象的字符串表示形式。它们的作用有所不同:
1. __repr__方法:
- 作用:定义对象的“官方”字符串表示形式,通常用于开发者调试和诊断。
- 返回值:应返回一个能够准确重建对象的字符串,通常包含类名和关键属性。
- 示例:
```python
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})"
p = Person("Alice", 25)
print(repr(p)) # 输出:Person(name=Alice, age=25)
```
2. __str__方法:
- 作用:定义对象的“友好”字符串表示形式,通常用于用户可读的输出。
- 返回值:应返回一个描述对象的字符串。
- 示例:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Person: {self.name}, {self.age} years old"
p = Person("Alice", 25)
print(str(p)) # 输出:Person: Alice, 25 years old
```
阅读全文