2014-11-06 139 views
0

很簡單,當字符串是一樣的東西:Python字符串格式化爲%

s = 'test%s1' 
s % 'TEST' 

然而,當%本身存在的字符串,然後我得到這個錯誤。 如:

s = 'test%s12%34' 
s % 'TEST' 
>>ValueError: incomplete format 

如何韓德爾這種情況?

回答

6

雙倍%

s = 'test%s12%%34' 

在輸出時它會再次被壓縮成一個百分比符號:

>>> s = 'test%s12%%34' 
>>> s % 'TEST' 
'testTEST12%34' 

String Formatting Operations documentation,其中各種轉換字符記載:

'%'沒有參數被轉換,結果爲'%'結果中的字符。

其中第二個%是轉換字符。

+0

酷! 你能解釋一下它的工作原因嗎? – 2014-11-06 08:28:51

+1

@SaurabhVerma:它是一個文檔化的轉換字符; '%%'被轉換爲'%'。 – 2014-11-06 08:30:55