溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

_repr_在python中是正式的嗎

發(fā)布時間:2020-12-10 09:29:47 來源:億速云 閱讀:230 作者:小新 欄目:編程語言

小編給大家分享一下_repr_在python中是正式的嗎,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在python方法的創(chuàng)建中,有的是為了讓計算機能夠快速識別的,有的是服務于我們使用者的。相信這么說,小伙伴們已經(jīng)大致知道正式和非正式使用的不同方向的。關于_repr_的使用上,經(jīng)常會跟__str__放在一起討論。當我們向開始使用_repr_前,需要弄清楚在python中是正式還是非正式的,下面就這么問題展開討論。

也許可能也聽說過__repr__函數(shù),它也可以實現(xiàn)根據(jù)我們的需要自定義輸出的功能。比如我們把上面的代碼改下函數(shù)名,也可以得到一樣的結果。

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 內(nèi)置對象的__repr__、__str__區(qū)別。 (PS:因為 Python 內(nèi)置函數(shù) repr() 和 str() 分別調(diào)用對象的__repr__和__str__,所以這邊就用這兩個函數(shù)來舉例。)

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()能夠讓我們最快速了解到對象的內(nèi)容,可讀性較高。

還有哦,在 Python 交互式命令行下直接輸出對象默認使用的是__repr__。

以上是“_repr_在python中是正式的嗎”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI