Neuling-Fehler bzgl invalid syntax

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Steffen51
User
Beiträge: 2
Registriert: Freitag 2. März 2018, 19:46

Servus,

ich habe vor wenigen Tagen mit Python angefangen und nutze zum lernen LPTHW.
Jetzt bin ich mit einem Fehler konfrontiert den ich nicht lösen kann, da er selbst dann auftritt wenn ich den Bsp-Code copy-paste verwende.
Alle Recherchen dazu führten mich nur zu Threads bzgl. Unterschied Python 2 und Python 3

Basics:
Ich nutze Python 3.5.2 linux (Ubuntu 16.04.3 LTS Xenial Xerus amd64) und das normale Terminal

Mein Fehler:

Code: Alles auswählen

my_name = 'Zed A. Shaw'
print(f"Let's talk about {my_name}.")
ergibt

Code: Alles auswählen

File "test.py", line 2
    print(f"Let's talk about {my_name}.")
                                       ^
SyntaxError: invalid syntax


Als Editor habe ich erst Atom, dann Visual Studio verwendet.
Das Einzige was mir noch einfällt ist das die letzte Version von LPTHW mit Python3.6 arbeitet. Ansonsten bin ich langsam verzweifelt.

Gruß
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Steffen51 hat geschrieben:

Code: Alles auswählen

File "test.py", line 2
    print(f"Let's talk about {my_name}.")
                                       ^
SyntaxError: invalid syntax
Schau mal in die Dokumentation unter What's New In Python 3.6. Da steht unter "New syntax features" unter anderem: "formatted string literals". Genau so ein String-Literal verwendest du in deinem Code und da es das in Python 3.5 noch nicht gab und du mit Python 3.5 arbeitest ... na ja, du kannst den Satz jetzt vermutlich selber fortführen.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

deine letzte Vermutung ist richtig. f-Strings gibt es erst ab Python 3.6. Bei 3.5 müsstest du noch die format-Methode nutzen:

[codebox=pycon file=Unbenannt.txt]>>> name = 'foo'
>>> print("Let's talk about {my_name}.".format(my_name=name))
Let's talk about foo.
>>>[/code]

Wenn du Python 3.6 willst, kannst du dir das unter Ubuntu 16.04 aber auch selber kompilieren. Eine Anleitung gibt's im Wiki von ubuntuusers.de.

Gruß, noisefloor
Steffen51
User
Beiträge: 2
Registriert: Freitag 2. März 2018, 19:46

Super. Tausend Dank Euch!
Antworten