Python 面向物件程式設計中的 repr() 函式有哪些作用?
官方 Python 文件中指出,__repr__()用於計算物件的“官方”字串表示形式。 repr() 內建函式使用__repr__()來顯示物件。 __repr__()返回物件的可打印表示形式,即建立此物件的一種可能方式。 __repr__()對開發人員更有用,而__str__()對終端使用者更有用。
示例
以下程式碼顯示瞭如何使用__repr__。
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(3, 4) print p
輸出
輸出結果為
Point(x=3, y=4)
我們再來看一個使用 repr() 函式的示例,並建立一個 datetime 物件 −
>>> import datetime >>> today = datetime.datetime.now()
當我使用內建函式 repr() 顯示今天時−
>>> repr(today) 'datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)'
您會看到,它返回了一個字串,但這個字串是一個datetime物件的“官方”表示形式,這意味著我們可以使用這個“官方”字串表示形式重建物件−
>>> eval('datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)') datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)
eval() 內建函式接受一個字串並將其轉換成 datetime 物件。
廣告