为什么我会从 f 字符串中得到“无效语法”?[重复]
- 2025-02-11 09:50:00
- admin 原创
- 49
问题描述:
我无法让 f 字符串在 Python 3 中工作。我在 REPL 上尝试了这个:
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.
哪里出了问题?我该如何修复?
解决方案 1:
正如 Josh Lee 在评论部分所建议的那样,这种字符串插值仅在 Python 3.6 中添加,请参阅Python 3.6 中的新增功能(这里称为“ PEP 498:格式化字符串文字”)。
但是,您似乎正在使用不支持该语法的 Python 3.5.2。
解决方案 2:
这是一个相当老的问题,不确定是否在其他地方得到过回答,但我遇到了同样的问题,并进入了一些令人困惑的页面。几分钟后就搞清楚了。下面的代码应该有效。
my_message = "I live in {}".format(state)
.format 适用于 3.5。在此记录它,以便有需要的人解决类似问题。
解决方案 3:
对我有用的(在 sublime 中的 python 3.8.5 中)是删除 f。
message = "I live in {state}"
我发现这比.format(state)
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD