我最近一直在学习Python3,我无法获得任何涉及字符串插值(格式化)的示例。
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
我只是忽略了基本语法吗?我已经在一些同学的电脑上运行了相同的命令,它似乎执行得很好。
3条答案
按热度按时间goqiplq21#
正如josh lee在评论部分中所建议的那样,这种字符串插值仅在python 3.6中添加,请参见python 3.6中的新增内容(这里称为“pep 498:格式化字符串文本”)。
然而,您似乎正在使用python 3.5.2,它不支持这种语法。
3pvhb19x2#
这是一个相当老的问题,不确定是否在其他地方得到了回答,但遇到了同样的问题,并出现在一些令人困惑的页面上。几分钟后我就明白了。下面这行应该行。
.格式适用于3.5。在这里为可能需要类似问题的人记录。
ewm0tg9j3#
对我来说(在sublime的Python3.8.5中)起作用的是删除f。
我发现这比你想象的要容易
.format(state)