__repr__作用

来源:互联网 发布:柯维时间矩阵图 编辑:程序博客网 时间:2024/05/16 12:08

Python中这个_repr_函数,对应repr(object)这个函数,返回一个可以用来表示对象的可打印字符串:

  1. 尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象 ;

  2. 否则,生成用尖括号包住的字符串,包含类型名和额外的信息(比如地址) ;

  3. 一个类(class)可以通过 __repr__() 成员来控制repr()函数作用在其实例上时的行为。

代码例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> class D(object):
...     def __str__(self):
...         return "a __str__"
...     def __repr__(self):
...         return "a __repr__"
...
>>> dr = D()
>>> print dr
a __str__
>>> dr
a __repr__
>>> "%s" % dr
'a __str__'
>>> "%r" % dr
'a __repr__'

Python中,有的操作符和函数是做同样的事情,原因是某些场合下函数会比操作符更适合使用,比如函数对象可作为参数传递。

原创粉丝点击