Python 有辦法將任意值轉為字符串:將它傳入repr() 或str() 函數。
函數str() 用於將值轉化為適於人閱讀的形式,而repr() 轉化為供解釋器讀取的形式。
在python的官方API中這樣解釋repr()函數:
help(repr)查看幫助信息
repr()函數得到的字符串通常可以用來重新獲得該對象,repr()的輸入對python比較友好。通常情況下obj==eval(repr(obj))這個等式是成立的。
>>> obj='I love Python' >>> obj==eval(repr(obj)) True
而str()函數這沒有這個功能
>>> obj = 'I love Python' >>> obj==eval(repr(obj)) True >>> obj == eval(str(obj)) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 I love Python ^ SyntaxError: invalid syntax
repr()函數(python3中):
>>> repr([0,1,2,3]) '[0, 1, 2, 3]' >>> repr('Hello') "'Hello'" >>> str(1.0/7.0) '0.14285714285714285' >>> repr(1.0/7.0) '0.14285714285714285'