web-dev-qa-db-fra.com

Python 3 renvoie une "syntaxe non valide" lors d'une tentative d'interpolation de chaîne

J'ai récemment appris python 3 et je ne peux pas obtenir d'exemples impliquant une interpolation de chaîne (formatage) pour fonctionner.

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

Je pensais que ma machine était par défaut à python 2, mais une vérification rapide révèle:

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.

Je suis sur Ubuntu 16.04:

python3 --version
Python 3.5.2

Suis-je en train d'oublier la syntaxe de base? J'ai exécuté les mêmes commandes sur quelques ordinateurs de camarades de classe et cela semble fonctionner très bien.

22
Sven E

Comme suggéré par Josh Lee dans la section commentaire, ce type d'interpolation de chaînes a été ajouté dans Python 3.6 uniquement, voir Quoi de neuf dans Python 3.6 (ici cela s'appelle " PEP 498 : Littéraux de chaîne formatés").

Vous semblez cependant utiliser Python 3.5.2, qui ne prend pas en charge cette syntaxe.

36
yeputons