2013-12-11 67 views
3
>>> foo = 1 
>>> type(foo) 
<type 'int'> 
>>> type(str(foo)) 
<type 'str'> 
>>> type(`foo`) 
<type 'str'> 

將整數轉換爲字符串的更多Pythonic方法是哪一種?我一直使用第一種方法,但我現在發現第二種方法更具可讀性。有實際的區別嗎?將整數轉換爲字符串的pythonic方式

回答

10

String conversions using backticks是對值repr()的簡寫符號。爲整數,所產生的str()repr()輸出恰好是相同的,但它是不相同的操作:

>>> example = 'bar' 
>>> str(example) 
'bar' 
>>> repr(example) 
"'bar'" 
>>> `example` 
"'bar'" 

的反引號語法是removed from Python 3;我不會使用它,因爲清晰的str()repr()呼叫在其意圖中更加清晰。

請注意,您有更多選項將整數轉換爲字符串;您可以使用str.format()old style string formatting operations整數插值到一個較大的字符串:

>>> print 'Hello world! The answer is, as always, {}'.format(42) 
Hello world! The answer is, as always, 42 

這比使用字符串連接更加強大。

+0

爲「調用repr()」位的簡寫符號而歡呼。每天學些新東西。 – Ayrx