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 物件。

更新日期:2020-06-15

檢視次數:621 次

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告