筆者學習python(2.7.3),對於srt()和repr()函數有些混淆,仔細研究了一下,以下是一點心得。
1、str()函數
str()返回一個字符串,是對象的可打印的顯示。字符串就返回本身。
>>> x=3 >>> str(x) '3' >>> x='hello' >>> str(x) 'hello'
2、repr()函數
repr()也返回一個字符串,它用合法的python表達式的形式來表示值。它的返回結果可以作爲eval()的參數。
>>> x=3 >>> repr(x) '3' >>> x='hello' >>> repr(x) "'hello'" >>> x.__repr__() "'hello'" >>> print repr("hello") 'hello' >>> print repr(10000L) 10000L
repr()實際調用一個__repr__()的方法,它給出的字符串包含了x的值的顯示。
>>> x=3 >>> eval(repr(x)) 3 >>> x='hello' >>> eval(repr(x)) 'hello'
所以,再用eval函數調用repr函數後,返回的是對象本身。repr()可以用反引號ˋˋ的方式來替代。