似乎字符串格式不適用於連接的字符串。隨着級聯的佔位符被逐字印:格式化連接的python字符串
>>> print("{}" + " OK".format("Text"))
{} OK
然而,無連接的格式會打印,因爲它應該:與舊式%-formatting發生
>>> print("{} OK".format("Text"))
Text OK
同樣的問題。
如果我有一個很長的多行字符串,我想連接一個應該格式化的字符串,建議的方法是什麼?
似乎字符串格式不適用於連接的字符串。隨着級聯的佔位符被逐字印:格式化連接的python字符串
>>> print("{}" + " OK".format("Text"))
{} OK
然而,無連接的格式會打印,因爲它應該:與舊式%-formatting發生
>>> print("{} OK".format("Text"))
Text OK
同樣的問題。
如果我有一個很長的多行字符串,我想連接一個應該格式化的字符串,建議的方法是什麼?
您試圖做拼接之前執行「格式」操作。您可以使用圓括號修正操作的優先順序:
>>> the_string = ("{}" + " OK").format("Text")
>>> print(the_string)
Text OK
你只需要修復的括號:
print(("{}" + " OK").format("Text"))
哦!我認爲格式函數是字符串的一種方法。我會認爲這個語法會將字符串變成一個帶有字符串的元素元組!無論如何,嘗試它,它的作品! – 00prometheus
這不起作用(更新:在Python 3中) - 'print'返回'None'。 – kwinkunks
爲我工作。在Python解釋器中:>>> print(「{}」+「OK」)。format(「Text」) Text OK ' – 00prometheus
PEP8似乎意味着此間距是不正確的或皺眉:https://www.python.org/dev/peps/pep-0008/#whitespace-in-expressions-and-statements – dkhamrick
間距不會破壞代碼,所以它不是「不正確的」 。它使代碼更易於閱讀,所以我添加了它的教學理由。如果它有助於緩解你的想法,我會進一步解壓代碼。 – Boa