I have recently been learning python 3 and I cannot get any examples involving string interpolation (formatting) to work.
我最近一直在学习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
I figured my machine was defaulting to python 2, but a quick check reveals:
我认为我的机器默认为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.
I am on Ubuntu 16.04:
我在Ubuntu 16.04:
python3 --version
Python 3.5.2
Am I just overlooking basic syntax? I have run the same commands on a few computers from fellow students and it seems to execute just fine.
我只是忽略了基本语法?我在同学的几台电脑上运行相同的命令,似乎执行得很好。
1 个解决方案
#1
15
As suggested by Josh Lee in the comment section, that kind of string interpolation was added in Python 3.6 only, see What’s New In Python 3.6 (here it's called "PEP 498: Formatted string literals").
正如Josh Lee在评论部分所建议的那样,仅在Python 3.6中添加了这种字符串插值,请参阅Python 3.6中的新功能(此处称为“PEP 498:格式化字符串文字”)。
You, however, seems to be using Python 3.5.2, which does not support that syntax.
但是,您似乎使用的是Python 3.5.2,它不支持该语法。
#1
15
As suggested by Josh Lee in the comment section, that kind of string interpolation was added in Python 3.6 only, see What’s New In Python 3.6 (here it's called "PEP 498: Formatted string literals").
正如Josh Lee在评论部分所建议的那样,仅在Python 3.6中添加了这种字符串插值,请参阅Python 3.6中的新功能(此处称为“PEP 498:格式化字符串文字”)。
You, however, seems to be using Python 3.5.2, which does not support that syntax.
但是,您似乎使用的是Python 3.5.2,它不支持该语法。