【问题标题】:f-strings giving SyntaxError?给出 SyntaxError 的 f 字符串?
【发布时间】:2018-10-28 07:45:31
【问题描述】:

我的 Atom 阅读器在这里收到一条错误消息,提示第一个 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 版本? f-strings 是该语言相对较新的补充。
  • 你至少需要python3,而不是python2
  • 你能在命令提示符下输入 python 时显示正在打印的内容吗
  • 在 Windows 上,您可以按 Ctrl-r,然后按 command,最后按 Enter 键。
  • 您可以通过添加import sys 行,然后单独添加print(sys.version_info) 行来查看正在使用的Python 版本。

标签: python syntax-error python-2.x f-string


【解决方案1】:

这是一个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

【讨论】:

    【解决方案2】:

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

    我有这个问题,所以希望这个答案可以帮助那些寻找它的人。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

          我认为这是由于旧版本造成的。我已经尝试过新版本并且执行良好。结果和预期的一样。

          【讨论】:

          • 请注明您正在使用的版本号并与 OP 的版本相匹配。也许修复发生在以后。如果您自己的代码有点不同,请同时发布
          • 我使用在线编译器进行练习。我使用相同的代码,结果是让我们谈谈 Zed A. Shaw。他有 74 英寸高。他有180磅重。其实也不算太重。他有蓝色的眼睛和棕色的头发。根据咖啡的不同,他的牙齿通常是白色的。
          【解决方案6】:

          我认为你有一个旧版本的 python。尝试升级到最新版本的python。自 python 3.6 起,F 字符串文字已被添加到 python 中。您可以查看更多信息here

          【讨论】:

            猜你喜欢
            • 2019-10-29
            • 2019-07-05
            • 1970-01-01
            • 2022-11-20
            • 1970-01-01
            • 2020-12-31
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多