python __repr__
时间: 2023-11-01 18:07:26 浏览: 109
Python中__repr__和__str__区别详解
5星 · 资源好评率100%
在Python中,`__repr__`是一个特殊方法,用于返回一个对象的字符串表示形式。这个字符串应该是一个可以用来重新创建该对象的Python表达式。如果没有实现`__str__`方法,那么在打印对象时,Python会调用`__repr__`方法来获取对象的字符串表示形式。如果同时实现了`__repr__`和`__str__`方法,那么在打印对象时,Python会调用`__str__`方法来获取对象的字符串表示形式,而在交互式环境下输入对象名并回车时,Python会调用`__repr__`方法来获取对象的字符串表示形式。
下面是一个示例代码:
```
class A(object):
def __init__(self):
pass
def __repr__(self):
return "repr"
a = A()
print(a)
```
输出结果为:
```
repr
```
这是因为我们没有实现`__str__`方法,所以Python调用了`__repr__`方法来获取对象的字符串表示形式。
另外,下面是一个示例代码,演示了同时实现`__repr__`和`__str__`方法的情况:
```
class A(object):
def __repr__(self):
return 'repr'
def __str__(self):
return 'str'
a = A()
print(a) # 调用__str__方法,输出str
```
输出结果为:
```
str
```
阅读全文