[python知识巩固]特殊函数repr()
定义
repr函数是将对象转化为供解释器读取的形式。
返回一个对象的string格式
repr函数的示例
- 函数功能返回一个对象的字符串表现形式。
>>> a = 'qweqweqe'
>>> repr(a)
"'qweqweqe'"
>>> repr(1213)
'1213'
>>> dict = { 'a':1, 'b':2}
>>> repr(dict)
"{'a': 1, 'b': 2}"
从上面我们可以看到repr函数可以把对象转换成字符串形式进行输出。
如果repr(数字)那就和str(数字)一致
- repr函数可以通过eval()求值的方法获得转换前的对象值
>>> eval(repr(dict))
{'a': 1, 'b': 2}
>>> eval(repr(123))
123
- 类中的使用
对于一般的类型,调用repr函数返回的是其所属的类型和被定义的模块,以及内存地址组成的字符串。
>>> class Student:
... def __init__(self,name):
... self.name = name
...
>>> m = Student("mao")
>>> repr(m)
'<__main__.Student object at 0x7f6a79e06280>'
改变repr中的显示值,需要对__repr__
函数进行重写。
>>> class Student:
... def __init__(self,name):
... self.name = name
... def __repr__(self):
... return "这是student类"
...
>>> Student("mao")
这是student类
>>> a = Student("mao")
>>> repr(a)
'这是student类'