2011-04-19 55 views
1

當我在交互式shell中使用python時,我可以通過調用它們的名稱輕鬆地轉儲變量。如你所見,行爲與print的行爲有所不同。如何在普通腳本中模擬這種類似CLI的變量轉儲?python CLI類似的變量轉儲

回答

2
>>> x = b'\xA5' 
>>> print repr(x) 
'\xa5' 
+0

該死,遲到46秒! – Santa 2011-04-19 22:23:54

1

每類可以使用__repr__特殊方法的專業表現。

例如:

>>> class Banana: 
...  def __repr__(self): 
...    return "Fruit: Banana" 
... 
>>> Banana() 
Fruit: Banana 

應該指出的是,交互提示變得脾氣很暴躁(和Python一般),如果返回的東西,但一個字符串。

如果可能的話,它也應該代表一個有效的Python表達式。所以我的例子不符合。如果有效的表達不可行,文檔建議<something descriptive>。你可以看到這樣的例子在實踐中,如果你得到一個類的表示:

>>> Banana 
<class '__main__.Banana'> 

這種特殊的方法是什麼意思repr和交互提示使用顯示對象的「表示」。