2011-12-01 54 views

回答

5

的Python 3.2這是否正確:

$ python3.2 
Python 3.2.2 (default, Sep 5 2011, 22:09:30) 
[GCC 4.6.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> sqlstring = 'INSERT INTO {}' 
>>> table = 'Product' 
>>> sqlstring.format(table) 
'INSERT INTO Product' 
>>> 

什麼版本您使用的?

其他想法:

字符串是不變的,就地不要自行修改。也許你想:

sqlstring = sqlstring.format(table) 

如果到位格式字符串自我修飾自己這將是很煩人的Python程序員,因爲每一個格式字符串只能使用一次。有時候,我們希望有機會建立一個很好的格式字符串,然後使用幾百次 - 這很容易,如果format()返回結果,而不是修改就地格式。

+0

蟒蛇3.2 R32:88445 2011年2月11日我使用Windows 7 64倍 –

+0

嘗試把它的方法,然後運行它。 –

+0

你用'format()'返回的值是幹什麼的?你是否立即使用它,或者你的方法是否將該值存儲在某處供您稍後查找? –

5

format沒有修改字符串(不能因爲字符串是不可變的)。它返回一個新的字符串。您需要將呼叫的結果分配給格式:

result = sqlstring.format(table)