我有以下 f 字串:
f"Something{function(parameter)}"
我想對該引數進行硬編碼,它是一個字串:
f"Something{function("foobar")}"
它給了我這個錯誤:
SyntaxError: f-string: unmatched '('
我該怎么做呢?
uj5u.com熱心網友回復:
因為 f 字串由詞法分析器而不是決議器識別,所以不能在字串中嵌套相同型別的引號。詞法分析器只是在尋找下一個",而不管它的背景關系。在里面使用單引號f"..."或在里面使用雙引號f'...'。
f"Something{function('foobar')}"
f'Something{function("foobar")}'
轉義引號不是一個選項(出于目前我無法理解的原因),這意味著任意嵌套的運算式不是一個選項。您只有 4 種型別的引號可供使用:
"..."'...'"""..."""'''...'''
uj5u.com熱心網友回復:
Python 允許在字串周圍使用 "" 和 ''。最簡單的是使用:
f"Something{function('foobar')}"
uj5u.com熱心網友回復:
您可以使用 python 有兩種型別的引號這一事實:
f"Something{function('foobar')}"
或者
f'Something{function("foobar")}'
不幸的是,您不能做的是轉義內部字串的引號。f"Something{str.upper(\"foobar\")}"會導致
SyntaxError: f-string expression part cannot include a backslash
這在PEP-498 中有特別說明,它定義了 f-strings 的作業方式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/388056.html
上一篇:即使在添加中斷后輸出也會多次列印
