尝试执行字符串插值时出现“无效语法”

新手上路,请多包涵

我最近一直在学习 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

我只是忽略了基本语法吗?我已经在同学的几台计算机上运行了相同的命令,它似乎执行得很好。

原文由 Sven E 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 465
2 个回答

正如 Josh Lee 在评论部分所建议的那样,这种字符串插值仅在 Python 3.6 中添加,请参阅 What’s New In Python 3.6 (此处称为“ PEP 498 :格式化字符串文字”)。

但是,您似乎正在使用不支持该语法的 Python 3.5.2。

原文由 yeputons 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是一个很老的问题,不确定是否在其他地方得到了回答,但遇到了同样的问题并出现在一些令人困惑的页面上。几分钟后想通了。下线应该工作。

 my_message = "I live in {}".format(state)

.format 适用于 3.5。在这里为可能需要它解决类似问题的人记录它。

原文由 Ritesh Kankonkar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题