python - 如何修复 f-string 中未终止的表达式;python中缺少右括号?
问题描述
我想使用 f 字符串格式而不是打印。但是,我收到以下错误: f-string 中的未终止表达式;缺少右大括号预期的“)”
var="ab-c"
f"{var.replace("-","")}text123"
我尝试使用单引号 f'' 和双括号,但它们都不起作用。关于如何解决这个问题的任何想法?
解决方案
对于f"{var.replace("-","")}text123"
,Python 会解析f"{var.replace("
为一个完整的字符串,您可以看到它有一个开头{
和开头(
的 ,但随后该字符串被终止。它首先期望 a)
并最终期望 a }
,因此您会看到错误。
为了解决这个问题,Python 允许'
或"
包含一个字符串,因此将一个用于 f 字符串,另一个用于字符串内部:
f"{var.replace('-','')}text123"
或者:
f'{var.replace("-","")}text123'
'
如果您在内部同时拥有和,也可以使用三引号"
f'''{var.replace("-",'')}text123'''
或者:
f"""{var.replace("-",'')}text123"""