3 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
__repr__應(yīng)該返回對(duì)象的可打印表示,很可能是創(chuàng)建此對(duì)象的可能方式之一。請(qǐng)參見官方文檔在這里。__repr__適用__str__于最終用戶的開發(fā)人員。
一個(gè)簡(jiǎn)單的例子:
>>> class Point:
... def __init__(self, x, y):
... self.x, self.y = x, y
... def __repr__(self):
... return 'Point(x=%s, y=%s)' % (self.x, self.y)
>>> p = Point(1, 2)
>>> p
Point(x=1, y=2)

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
這在Python文檔中得到了很好的解釋:
repr(object):返回包含對(duì)象的可打印表示的字符串。這與轉(zhuǎn)換(反向引號(hào))產(chǎn)生的值相同。能夠以普通函數(shù)的形式訪問此操作有時(shí)很有用。對(duì)于許多類型,此函數(shù)嘗試返回一個(gè)字符串,該字符串在傳遞時(shí)會(huì)產(chǎn)生具有相同值的對(duì)象
eval()
,否則表示形式是一個(gè)括在尖括號(hào)中的字符串,其中包含對(duì)象類型的名稱以及其他信息通常包括對(duì)象的名稱和地址。類可以通過定義__repr__()
方法來控制此函數(shù)為其實(shí)例返回的內(nèi)容。
所以你在這里看到的是默認(rèn)實(shí)現(xiàn)__repr__
,這對(duì)序列化和調(diào)試很有用
添加回答
舉報(bào)