Python格式化字符串语法错误求助:return语句报SyntaxError问题
语法错误原因分析及修正
你的问题出在f-string的语法使用错误:
Python的f-string要求所有需要格式化的内容必须完全包含在同一个带有f前缀的字符串引号内部,而你把字符串片段和变量分开书写,导致Python无法识别这是合法的语法结构,因此在{n1}处触发SyntaxError。
错误代码问题点:
return (f"The sum of" {n1} "+" {n2} "is equal to" {result})
这里你把f-string拆成了多个独立的字符串和变量,Python会把{n1}当成独立的表达式,而它前面没有合法的语法衔接,所以报错。
修正后的代码:
把所有内容整合到一个f-string中即可:
def somme(n1 , n2): result = n1 + n2 # 此处括号可省略,不影响计算结果 return f"The sum of {n1} + {n2} is equal to {result}"
如果习惯用括号包裹返回值,也可以写成:
return (f"The sum of {n1} + {n2} is equal to {result}")
调用somme(1,1)后会返回正确结果:"The sum of 1 + 1 is equal to 2"
内容的提问来源于stack exchange,提问作者Leao
相关产品推荐
相关产品推荐

