str(): 函數返回一個用戶易讀的表達形式。python
repr(): 產生一個解釋器易讀的表達形式。函數
必定要搞懂這兩句話,重點就在於str是給人類看的,而repr是給python解釋器看的。spa
示例代碼:code
#python3中沒有多大區別字符串
>>> print('你好')
你好
>>> str('hello')
'hello'
>>> repr('hello')
"'hello'"
>>> str('你好')
'你好'
>>> repr('你好')
"'你好'"
>>>co
#python2中區別很大字符
>>> str('hello')
'hello'
>>> repr('hello')
"'hello'"
>>> str('你好')
'\xc4\xe3\xba\xc3'
>>> repr('你好')
"'\\xc4\\xe3\\xba\\xc3'"background
這幾行代碼說明了一個現象python在面對用戶和解釋器時準備了兩種方案,人看得懂的和機器看的懂得。str和repr輸出的都是字符串,repr輸出的是標準的字符串,機器閱讀更方便;str輸出的是人所能閱讀的字符串,本質也是repr輸出的字符串。閱讀
來看代碼:
>>> print str('你好') 你好 >>> print repr('你好') '\xc4\xe3\xba\xc3'