您好,登錄后才能下訂單哦!
小編給大家分享一下_repr_在python中是正式的嗎,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在python方法的創建中,有的是為了讓計算機能夠快速識別的,有的是服務于我們使用者的。相信這么說,小伙伴們已經大致知道正式和非正式使用的不同方向的。關于_repr_的使用上,經常會跟__str__放在一起討論。當我們向開始使用_repr_前,需要弄清楚在python中是正式還是非正式的,下面就這么問題展開討論。
也許可能也聽說過__repr__函數,它也可以實現根據我們的需要自定義輸出的功能。比如我們把上面的代碼改下函數名,也可以得到一樣的結果。
class point: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return 'x: %s, y: %s' % (self.x, self.y)
我們運行它,同樣會得到:
x: 3, y: 4
和我們上篇代碼結果一樣,這里__repr__正式,__str__ 非正式。
什么是正式?什么是非正式?光聽文檔上還是太抽象了,那我們就來看看幾個 Python 內置對象的__repr__、__str__區別。 (PS:因為 Python 內置函數 repr() 和 str() 分別調用對象的__repr__和__str__,所以這邊就用這兩個函數來舉例。)
import datetime s = 'hello' d = datetime.datetime.now() print(str(s)) print(repr(s)) print(str(d)) print(repr(d))
輸出結果:
hello 'hello' 2018-11-29 22:39:18.014587 datetime.datetime(2018, 11, 29, 22, 39, 18, 14587)
可以看出repr()更能顯示出對象的類型、值等信息,對象描述清晰的。 而str()能夠讓我們最快速了解到對象的內容,可讀性較高。
還有哦,在 Python 交互式命令行下直接輸出對象默認使用的是__repr__。
以上是“_repr_在python中是正式的嗎”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。