web-dev-qa-db-ja.com

Python 3は、文字列補間を実行しようとすると「無効な構文」を返します

私は最近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

基本的な構文を見落としているだけですか?私は仲間の学生からいくつかのコンピューターで同じコマンドを実行しましたが、それはうまく実行されているようです。

22
Sven E

コメントセクションでJosh Leeが示唆したように、その種の文字列補間はPython 3.6のみ、 What's New In Python 3.6 (ここでは「 PEP 498 :フォーマットされた文字列リテラル」と呼ばれます)。

ただし、あなたはPython 3.5.2を使用しているようです。この構文はサポートされていません。

36
yeputons