python __repr__的作用


Python中這個_repr_函數,對應repr(object)這個函數,返回一個可以用來表示對象的可打印字符串:

  1. 嘗試生成這樣一個字符串,將其傳給 eval()可重新生成同樣的對象 ;

  2. 否則,生成用尖括號包住的字符串,包含類型名和額外的信息(比如地址) ;

  3. 一個類(class)可以通過 __repr__() 成員來控制repr()函數作用在其實例上時的行為。

代碼例子如下:

>>> 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中,有的操作符和函數是做同樣的事情,原因是某些場合下函數會比操作符更適合使用,比如函數對象可作為參數傳遞。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM