sqlstring = 'INSERT INTO {}'
table = 'Product'
sqlstring.format(table)
不會導致對 'INSERT INTO產品',但仍 'INSERT INTO {}' 爲什麼會這樣?這是一個關於str.format的Python 3錯誤嗎?
sqlstring = 'INSERT INTO {}'
table = 'Product'
sqlstring.format(table)
不會導致對 'INSERT INTO產品',但仍 'INSERT INTO {}' 爲什麼會這樣?這是一個關於str.format的Python 3錯誤嗎?
的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()
返回結果,而不是修改就地格式。
蟒蛇3.2 R32:88445 2011年2月11日我使用Windows 7 64倍 –
嘗試把它的方法,然後運行它。 –
你用'format()'返回的值是幹什麼的?你是否立即使用它,或者你的方法是否將該值存儲在某處供您稍後查找? –
format
沒有修改字符串(不能因爲字符串是不可變的)。它返回一個新的字符串。您需要將呼叫的結果分配給格式:
result = sqlstring.format(table)
使用我的Python 3.2,它確實會導致「INSERT INTO Product」,不確定您的問題是什麼。 – Michael