回覆列表
  • 1 # 使用者3408118601757475

    這個函式,對應repr(object)這個功能。意思是當需要顯示一個物件在螢幕上時,將這個物件的屬性或者是方法整理成一個可以列印輸出的格式。這個功能與eval也可以對應。打印出的結果直接放到eval裡,通常可以獲得原來的物件。比如t1=datetime.datetime.now()print repr(t1)結果是datetime.datetime(2014, 9, 9, 6, 34, 29, 756000)與此相類似的功能是__str__比如你有一個People類,當列印時你只希望它打印出人名,那麼你可以在__str__函式裡寫上return self.name , 這樣當需要People當作一個字串時,返回的就是人名。你使用 print str(t1)時結果是2014-09-09 06:34:29.756000

  • 2 # 使用者3654410448417262

    這個簡單

    str是顯示給使用者用的

    repr是給機器用的。

    classa(object):

    def__str__(self):

    print"thisisaclass"

    def__repr__(self):

    print"thisisreprfunc"

    a=a()

    比如printa

    呼叫的是a的__str__方法

    而如果你在python直譯器裡直接敲a後回車,呼叫的是a.__repr__()方法

  • 3 #

    1、python中str函式通常把物件轉換成字串,即生成物件的可讀性好的字串,一般在輸出文字時使用,或者用於合成字串。str的輸出對使用者比較友好適合print輸出。

    2、pyton中repr函式將一個物件轉成類似原始碼的字串,只用於顯示。repr的輸出對python友好,適合eval函式得到原來的物件。

    3、在類中實現__str__和__repr__方法,就可以得到不同的返回,示例程式碼:

  • 中秋節和大豐收的關聯?
  • 生藜麥做法怎麼蒸?