f-strings 给出 SyntaxError?

f-strings giving SyntaxError?

我的 Atom reader 收到一条错误消息,提示第一个 print.(f"message") 出现错误:

File "/Users/permanentmajority/Desktop/Coding/learnpythonbook.py", line 75
    print(f"Let's talk about {my_name}.")
                                       ^
SyntaxError: invalid syntax
[Finished in 0.077s]

代码:

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")

我认为您使用的是旧版本 python。尝试升级到最新版本的 python。自 python 3.6 以来,F 字符串文字已添加到 python。你可以查看更多相关信息 here

我认为这是旧版本的缘故。我已经尝试过新版本并且执行得很好。结果如预期。

f 弦是 added in python 3.6。在较旧的 python 版本中,f 字符串会导致语法错误。

如果您不想(或不能)升级,请参阅 How do I put a variable inside a String in Python? 以了解 f 弦的替代方法。

这是一个python版本问题。

而不是使用

print(f"Let's talk about {my_name}."

使用

print("Let's talk about {}.".format(my_name))

在 python2.

您的代码适用于 python3.7.

在这里查看:

my_name= "raushan"
print(f"Let's talk about {my_name}.")

https://repl.it/languages/python3

Python Interpreter 导致以下问题,因为您在执行程序时调用了错误的 python 版本,因为 f 字符串是 python 3 而不是 python 的一部分2. 您可以这样做 python3 filename.py,应该可以。要解决此问题,请将 python 解释器从 2 更改为 3。

我相信您在这里遇到的问题是由于您在没有意识到的情况下使用了 python 2。如果你还没有在你的机器上设置 python 3 作为你的默认版本,你应该在你的终端中执行 python3 而不是标准的 'python' 命令。

我遇到了这个问题,希望这个答案能对那些寻找它的人有所帮助。

我认为他们输入了

python file.py

到运行Mac或linux中的程序,运行直接是python2版本,因为OS默认包含python 2 版本,所以我们需要输入

python3 file.py

这就是问题的解决方案 python2 and python3 running command