1. 程式人生 > >python在交互模式下直接輸入對象後回車,調用的是對象的__repr__()方法,這個方法表示的是一個編碼,用print+對象是調用對象的__str__方法

python在交互模式下直接輸入對象後回車,調用的是對象的__repr__()方法,這個方法表示的是一個編碼,用print+對象是調用對象的__str__方法

ont self 國慶節 ... method bsp repr def 交互

交互模式下調用對象的__repr__()方法,這個方法表示的是一個編碼

>>> u"國慶節快樂"
u‘\u56fd\u5e86\u8282\u5feb\u4e50‘

用print+對象是調用對象的__str__方法
>>> print u"國慶節快樂"
國慶節快樂
>>>

定義一個類,重寫__repr__和__str__方法

>>> class P():
... def __repr__(self):
... return "is repr method invoked"
... def __str__(self):
... return "is str method invoked"
...
>>> p=P()#實例化這個類的實例
>>> p#直接輸入對象,調用對象的__repr__方法
is repr method invoked
>>> print p #用print 對象,調用__str__方法
is str method invoked

>>> repr(p) #直接調用repr()函數
‘is repr method invoked‘
>>> str(p) #直接調用str()函數
‘is str method invoked‘
>>>

python在交互模式下直接輸入對象後回車,調用的是對象的__repr__()方法,這個方法表示的是一個編碼,用print+對象是調用對象的__str__方法