尝试执行字符串插值时得到 "invalid syntax"
Getting an "invalid syntax" when trying to perform string interpolation
我最近一直在学习 python 3,但我无法获得任何涉及字符串插值(格式化)的示例。
In [1]: state = "Washington"
In [2]: state
Out[2]: 'Washington'
In [3]: my_message = f"I live in {state}"
File "<ipython-input-3-d004dd9e0255>", line 1
my_message = f"I live in {state}"
^
SyntaxError: invalid syntax
我认为我的机器默认为 python 2,但快速检查显示:
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
Type "copyright", "credits" or "license" for more information.
IPython 5.2.2 -- An enhanced Interactive Python.
我在 Ubuntu 16.04:
python3 --version
Python 3.5.2
我是不是忽略了基本语法?我 运行 在几台计算机上从同学那里得到了相同的命令,它似乎执行得很好。
正如 Josh Lee 在评论部分所建议的那样,这种字符串插值仅在 Python 3.6 中添加,请参阅 What’s New In Python 3.6 (here it's called "PEP 498:格式化字符串文字")。
但是,您似乎使用的是 Python 3.5.2,它不支持该语法。
这是一个很老的问题,不确定是否在其他地方得到了回答,但 运行 遇到了同样的问题,并出现在一些令人困惑的页面上。几分钟后想通了。下面一行应该可以。
my_message = "I live in {}".format(state)
.format 适用于 3.5。在这里为可能需要它解决类似问题的人记录它。
对我有用的(在 sublime 的 python 3.8.5 中)是删除 f.
message = "I live in {state}"
我觉得它比 .format(state)
容易
我最近一直在学习 python 3,但我无法获得任何涉及字符串插值(格式化)的示例。
In [1]: state = "Washington"
In [2]: state
Out[2]: 'Washington'
In [3]: my_message = f"I live in {state}"
File "<ipython-input-3-d004dd9e0255>", line 1
my_message = f"I live in {state}"
^
SyntaxError: invalid syntax
我认为我的机器默认为 python 2,但快速检查显示:
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
Type "copyright", "credits" or "license" for more information.
IPython 5.2.2 -- An enhanced Interactive Python.
我在 Ubuntu 16.04:
python3 --version
Python 3.5.2
我是不是忽略了基本语法?我 运行 在几台计算机上从同学那里得到了相同的命令,它似乎执行得很好。
正如 Josh Lee 在评论部分所建议的那样,这种字符串插值仅在 Python 3.6 中添加,请参阅 What’s New In Python 3.6 (here it's called "PEP 498:格式化字符串文字")。
但是,您似乎使用的是 Python 3.5.2,它不支持该语法。
这是一个很老的问题,不确定是否在其他地方得到了回答,但 运行 遇到了同样的问题,并出现在一些令人困惑的页面上。几分钟后想通了。下面一行应该可以。
my_message = "I live in {}".format(state)
.format 适用于 3.5。在这里为可能需要它解决类似问题的人记录它。
对我有用的(在 sublime 的 python 3.8.5 中)是删除 f.
message = "I live in {state}"
我觉得它比 .format(state)