python 3.7.6中给出语法错误的F字符串

python 3.7.6中给出语法错误的F字符串,python,python-3.x,f-string,Python,Python 3.x,F String,此代码: a = 10 b = 20 print(f "The variable a is {a} and the variable b is {b}.") 返回此错误: File "main.py", line 3 print (f "The variable a is {a} and the variab

此代码:

a = 10
b = 20
print(f "The variable a is {a} and the variable b is {b}.")
返回此错误:

File "main.py", line 3                                                                                          
    print (f "The variable a is {a} and the variable b is {b}")                                                   
                                                             ^                                                    
SyntaxError: invalid syntax
我使用的版本是3.6之后的版本,所以应该可以工作。如果有问题,我正在使用Anaconda的提示符。

您需要这个:

a=1
b=2
test_str=f“{”变量a是‘}{a}{’,变量b是‘}{b}”
打印(测试)

在花括号之间,发生字符串插值。
a
b
的变量在两个大括号内,硬编码字符串在另外两个大括号内。

f
和字符串之间有一个空格。移除它,一切都会工作


语法错误指向字符串的结尾。如果它指向字符串的开头,则可以更好地提示问题:在
f
之后(在本例中被解释为变量),字符串是意外的。

删除空格。详细说明应该是
f“…
而不是
f”
f“…”
必须表示名为
f
的变量,后跟字符串literal
“…”
,因为它是两个独立的标记。这是一个语法错误,其原因与
x4
将是一个语法错误的原因相同:它只是两个单独的表达式,没有运算符连接它们。如果没有空间,解析器可以将
f“…”
视为一件事,然后应用特殊规则来理解f-string的含义。为什么要对文本字符串使用占位符?另外两组花括号是不必要的,这会使阅读困难。事实上,OP的字符串非常好,除了
f
和字符串之间的空格itself@Tomerikoo你完全正确,你不需要这样做。我想我是想用一个人为的例子来解释,除了变量外,还可以像字符串一样插入文字值。如果不使用大括号作为占位符,这确实更简洁、更好。