"Little Shop of Errors": Leicht zu erzeugende Fehler in Python

14
„Little Shop of Errors“: „Little Shop of Errors“: „Little Shop of Errors“: „Little Shop of Errors“: Leicht zu erzeugende Fehler in Python Leicht zu erzeugende Fehler in Python Leicht zu erzeugende Fehler in Python Leicht zu erzeugende Fehler in Python Sprachwissenschaftliches Institut Wintersemester 2013/14 Symbolische und Statistische Verfahren Tutorium

Transcript of "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

Page 1: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

„Little Shop of Errors“:„Little Shop of Errors“:„Little Shop of Errors“:„Little Shop of Errors“:Leicht zu erzeugende Fehler in PythonLeicht zu erzeugende Fehler in PythonLeicht zu erzeugende Fehler in PythonLeicht zu erzeugende Fehler in Python

SprachwissenschaftlichesInstitut

Wintersemester 2013/14Symbolische und Statistische Verfahren

Tutorium

Page 2: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

SyntaxErrorSyntaxErrorSyntaxErrorSyntaxError

� “Form”fehler“Form”fehler“Form”fehler“Form”fehler

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:

� Tippfehler� Klammerfehler� Fehlende Doppelpunkte bei if/for/while

SprachwissenschaftlichesInstitut

� Fehlende Doppelpunkte bei if/for/while

� Beispiel:Beispiel:Beispiel:Beispiel:

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 2 ]

Page 3: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

IndentationErrorIndentationErrorIndentationErrorIndentationError

� EinrückungsfehlerEinrückungsfehlerEinrückungsfehlerEinrückungsfehler

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� Kopierter Code� Ein-/Auskommentieren von Code

• (Tipp zum Vermeiden: Strg + 3 Strg + 3 Strg + 3 Strg + 3 zum Einfügen von Kommentarzeichen,Strg + Shift + 3 Strg + Shift + 3 Strg + Shift + 3 Strg + Shift + 3 zum Aufheben der Kommentierung)

SprachwissenschaftlichesInstitut

Strg + Shift + 3 Strg + Shift + 3 Strg + Shift + 3 Strg + Shift + 3 zum Aufheben der Kommentierung)� Mathematische Terme über mehrere Zeilen

� Beispiel:Beispiel:Beispiel:Beispiel:

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 3 ]

Page 4: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

IndentationErrorIndentationErrorIndentationErrorIndentationError

� Mathematische Terme über mehrere Zeilen Mathematische Terme über mehrere Zeilen Mathematische Terme über mehrere Zeilen Mathematische Terme über mehrere Zeilen ---- ohne IndentationError:ohne IndentationError:ohne IndentationError:ohne IndentationError:

SprachwissenschaftlichesInstitut Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 4 ]

Page 5: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

TypeErrorTypeErrorTypeErrorTypeError

� Anwendung von Operationen auf falsche DatentypenAnwendung von Operationen auf falsche DatentypenAnwendung von Operationen auf falsche DatentypenAnwendung von Operationen auf falsche Datentypen

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� Strings mit Zahlen konkatenieren (generell: Konkatenation verschiedener

Typen)� Zahlen, die in Zeichenketten stehen, zum Rechnen verwenden� Auf Sets via Index zugreifen

SprachwissenschaftlichesInstitut

� Auf Sets via Index zugreifen� Stringmethoden auf Listen anwenden� … etc

� Beispiel:Beispiel:Beispiel:Beispiel:

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 5 ]

Page 6: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

IndexErrorIndexErrorIndexErrorIndexError

� Angegebener Index ist nicht vorhandenAngegebener Index ist nicht vorhandenAngegebener Index ist nicht vorhandenAngegebener Index ist nicht vorhanden

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� for-Schleife in Kombination mit index+1 o. ä.� Index soll durch Benutzer angegeben werden, Benutzer gibt Index an,

der nicht vorhanden ist� String/Liste/Datei ist unerwarteterweise leer

SprachwissenschaftlichesInstitut

� String/Liste/Datei ist unerwarteterweise leer

� Beispiel:Beispiel:Beispiel:Beispiel:

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 6 ]

Page 7: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

NameErrorNameErrorNameErrorNameError

� Angegebene Variable wird nicht gefundenAngegebene Variable wird nicht gefundenAngegebene Variable wird nicht gefundenAngegebene Variable wird nicht gefunden

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� Tippfehler� Lokale Variablen werden verwendet, als wären sie global� Variablen waren nur in einer früheren Version des Codes definiert� Bei der Verwendung von Funktionen aus importierten Modulen fehlt der

SprachwissenschaftlichesInstitut

� Bei der Verwendung von Funktionen aus importierten Modulen fehlt der Verweis

� Beispiel 1:Beispiel 1:Beispiel 1:Beispiel 1:

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 7 ]

Page 8: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

NameErrorNameErrorNameErrorNameError

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� Bei der Verwendung von Funktionen aus importierten Modulen fehlt der

Verweis

� Beispiel 2:Beispiel 2:Beispiel 2:Beispiel 2:

SprachwissenschaftlichesInstitut Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 8 ]

Page 9: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

ValueErrorValueErrorValueErrorValueError

� Inhalte der Variablen verhindern, dass die Operation durchgeführt werden Inhalte der Variablen verhindern, dass die Operation durchgeführt werden Inhalte der Variablen verhindern, dass die Operation durchgeführt werden Inhalte der Variablen verhindern, dass die Operation durchgeführt werden kannkannkannkann

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� Mit dem Ergebnis einer Funktion arbeiten wollen, die fehlschlägt� Typecast mit falschen Voraussetzungen (z. B. int() bei Strings ohne

Zahl)

SprachwissenschaftlichesInstitut

Zahl)

� Beispiel 1:Beispiel 1:Beispiel 1:Beispiel 1:

� Beispiel 2:Beispiel 2:Beispiel 2:Beispiel 2:

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 9 ]

Page 10: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

UnicodeErrorUnicodeErrorUnicodeErrorUnicodeError

� Encoding des Codes oder verwendeter Dateien kann nicht gelesen werdenEncoding des Codes oder verwendeter Dateien kann nicht gelesen werdenEncoding des Codes oder verwendeter Dateien kann nicht gelesen werdenEncoding des Codes oder verwendeter Dateien kann nicht gelesen werden

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� Datei ohne Encoding-Angabe geöffnet� Projekt in Eclipse mit falschem Encoding ausgeführt

� Standardmäßig ist CP1252

SprachwissenschaftlichesInstitut

� Standardmäßig ist CP1252eingestellt!

� Ändern des Encodings:Rechtsklick auf das Projekt/Properties/Resource

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 10 ]

Page 11: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

IOErrorIOErrorIOErrorIOError

� Datei kann nicht gelesen werdenDatei kann nicht gelesen werdenDatei kann nicht gelesen werdenDatei kann nicht gelesen werden

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:� Tippfehler� Fehlende Dateinamenerweiterung� Pfad stimmt nicht

� Dateipfade verwenden:Dateipfade verwenden:Dateipfade verwenden:Dateipfade verwenden:

SprachwissenschaftlichesInstitut

� Dateipfade verwenden:Dateipfade verwenden:Dateipfade verwenden:Dateipfade verwenden:� "./corpus.txt" entspricht Datei corpus.txt im

Workspace-Verzeichnis

� "../corpora/finnish.txt" entspricht Datei finnish.txt im “Schwesterverzeichnis” des Workspace

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 11 ]

Page 12: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

ImportErrorImportErrorImportErrorImportError

� Modul kann nicht importiert werdenModul kann nicht importiert werdenModul kann nicht importiert werdenModul kann nicht importiert werden

� Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:Häufige Ursachen:

� Tippfehler

� Modul liegt nicht in einem der folgenden Ordner:

SprachwissenschaftlichesInstitut

� Modul liegt nicht in einem der folgenden Ordner:• Workspace-Verzeichnis des aktuellen Projekts• …/PythonXX/Lib• …/PythonXX/Lib/site-packages

• Heruntergeladene Module/Pakete immer in sitesitesitesite----packagespackagespackagespackages ablegen!

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 12 ]

Page 13: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

KeyboardInterruptKeyboardInterruptKeyboardInterruptKeyboardInterrupt

� Programm wurde unterbrochen, bevor es fertig durchgelaufen istProgramm wurde unterbrochen, bevor es fertig durchgelaufen istProgramm wurde unterbrochen, bevor es fertig durchgelaufen istProgramm wurde unterbrochen, bevor es fertig durchgelaufen ist

� Ursache: Strg+C drücken (in der Eingabeaufforderung oder IDLE)Ursache: Strg+C drücken (in der Eingabeaufforderung oder IDLE)Ursache: Strg+C drücken (in der Eingabeaufforderung oder IDLE)Ursache: Strg+C drücken (in der Eingabeaufforderung oder IDLE)

� Nützlich bei endlos laufenden Modulen oder beim TestenNützlich bei endlos laufenden Modulen oder beim TestenNützlich bei endlos laufenden Modulen oder beim TestenNützlich bei endlos laufenden Modulen oder beim Testen� Gleiche Funktionalität wie der “Terminate”Gleiche Funktionalität wie der “Terminate”Gleiche Funktionalität wie der “Terminate”Gleiche Funktionalität wie der “Terminate”----Button in EclipseButton in EclipseButton in EclipseButton in Eclipse

SprachwissenschaftlichesInstitut Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 13 ]

Page 14: "Little Shop of Errors": Leicht zu erzeugende Fehler in Python

RuntimeErrorRuntimeErrorRuntimeErrorRuntimeError

� Nicht näher spezifizierter Error…Nicht näher spezifizierter Error…Nicht näher spezifizierter Error…Nicht näher spezifizierter Error…

SprachwissenschaftlichesInstitut

� Hilfreicher Link zu Errors und den möglichen Ursachen:Hilfreicher Link zu Errors und den möglichen Ursachen:Hilfreicher Link zu Errors und den möglichen Ursachen:Hilfreicher Link zu Errors und den möglichen Ursachen:

http://pythonforbiologists.com/index.php/29-common-beginner-python-errors-on-one-page/

Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14 [ 14 ]