In den ersten Wochen des Erlernens der Python-Sprachprogrammierung werden Anfänger auf viele Syntaxfehler und andere Fehler stoßen. Solange Sie jedoch darauf bestehen, Schwierigkeiten zu überwinden und das Programmieren über einen längeren Zeitraum zu üben, werden diese Fehler erheblich reduziert. Einige häufige Fehler und ihre Lösungen sind unten als Referenz für Anfänger aufgeführt.
1. SyntaxError Syntaxfehler
(1) Die zur Darstellung von Zeichenfolgen verwendeten Anführungszeichen werden nicht paarweise angezeigt.
Fehlermeldung:
Syntaxfehler: EOL beim Scannen von Stringliteral
Fehlerbeispiel:
print('hello)
Lösung:
Setzen Sie die Zeichenfolge in doppelte Anführungszeichen. Wenn eine Zeichenfolge einfache oder doppelte Anführungszeichen enthält, kann es leicht zu nicht übereinstimmenden Anführungszeichen kommen.
(2) Klammern erscheinen nicht paarweise.
Fehlermeldung:
SyntaxError: unerwartetes EOF beim Parsen
Fehlerbeispiel 1:
a= (1 + (2 / 3) * 4
Fehlerbeispiel 2:
print('hello'
Lösung:
Lassen Sie Klammern paarweise erscheinen. Beim Schreiben komplexer Ausdrücke oder Aufrufe tritt dieser Fehler häufig auf Tritt bei der Verwendung von Funktionen auf.
(3) Beim Aufruf der print()-Funktion wird die Syntax verwendet:
SyntaxFehler: Fehlende Klammern im Aufruf von „print“Fehlerbeispiel: print 'hello'Lösung: Verwendung von Python 3 Das Syntaxformat Wenn Anfänger von Python 2 auf Python 3 umsteigen, machen sie oft diesen Fehler (4 ). unter Verwendung des Selbstoperationsoperators ++ oder – usw. Fehlermeldung: SyntaxError: ungültige SyntaxFehlerbeispiel: a = 1 a++ Lösung: In der Python-Sprache gibt es keinen Selbstoperationsoperator wie ++ oder – in der C-Sprache. Die Verwendung einer ähnlichen Funktion ist + oder -= Operator. Verwenden Sie beispielsweise den folgenden Code, um die Variable a um 1 zu erhöhen. a += 1(5) Versuchen Sie, das Gleiche zu verwenden Mit dem Vorzeichen (=) wird ermittelt, ob die beiden Operanden gleich sind. Fehlermeldung: SyntaxError: invalid syntaxFehlerbeispiel: if a = 1: print('hello') Lösung: Verwenden Sie zwei Gleichheitszeichen (==) in der Python-Sprache, um zu bestimmen, ob zwei Operanden sind. Das Gleichheitszeichen (=) ist eine Zuweisung Operator. (6) Missbrauch von Python-Sprachschlüsselwörtern als Variablennamen: Syntaxfehler: Schlüsselwort kann nicht zugewiesen werdenFehlerbeispiel: True = 1Lösung: Verwenden Sie keine Schlüsselwörter der Python-Sprache als Variablennamen, Funktionsnamen oder Klassennamen usw. Verwenden Sie im Python-Shell-Fenster den Befehl help('keywords'), um Sehen Sie sich die Schlüsselwortliste der Python-Sprache an. (7) Ich habe vergessen, am Ende von if/elif/else/while/for/def/class und anderen Anweisungen einen Doppelpunkt (:) einzufügen. Fehlermeldung: SyntaxError: ungültige SyntaxFehlerbeispiel 1: a = 2wenn a > 0 print('+')Fehlerbeispiel 2: def sayhello() print('hello')Lösung Methode: Fügen Sie einfach einen Doppelpunkt (:) am Ende von if/elif/else/while/for/def/class und anderen Anweisungen hinzu. Behalten Sie die Grammatikregeln im Hinterkopf und es wird zur Gewohnheit.2. IndentationError
Fehlermeldung: IndentationError: unindent stimmt mit keiner äußeren Einrückungsebene übereinIndentationError: erwartet ein indentedblockFehlerbeispiel:
a = 2if a > 0: print('+') print (a)else: print('-') Hinweis: Der Grund für den Fehler ist die Codeeinrückung im if-Anweisungskörper im obigen Code ist nicht ausgerichtet. Lösung: Verwenden Sie die Einrückung korrekt, um Ihren Code zu formatieren. Dieser Fehler tritt häufiger auf, wenn Code von einer anderen Stelle kopiert und eingefügt wird.3. NameError
Wenn der Variablenname, Funktionsname oder Klassenname falsch geschrieben ist oder die Funktion geschrieben wird, bevor sie definiert ist Bei Funktionen etc. kommt es zu Namensfehlern. Fehlermeldung: NameError: Name 'pirnt' ist nicht definiertNameError: Name 'sayhello' ist nicht definiert
Fehlerbeispiel 1: pirnt('hello')Hinweis: Die Fehlerursache ist ein Tippfehler im Druck. Fehlerbeispiel 2: sayhello() def sayhello(): passHinweis: Der Grund für den Fehler ist in der Funktion Rufen Sie die Funktion auf, bevor Sie sie definieren. Lösung: Variablennamen, Funktionsnamen oder Klassennamen richtig schreiben, Werte vor der Verwendung von Variablen zuweisen, Funktionsdefinitionen vor Funktionsaufrufen einfügen usw. Damit soll sichergestellt werden, dass ein bestimmter Name (Bezeichner) existiert, bevor er verwendet werden kann.4. TypeError-Typfehler
(1) Ganzzahlen und Zeichenfolgen können nicht verbunden werden. Fehlermeldung: TypeError: „int“-Objekt kann nicht implizit in tostr konvertiert werdenTypeError: nicht unterstützte Operandentypen für+: „float“ und „str“
Fehlerbeispiel 1:print('score:'+ 100)
Fehlerbeispiel 2:
print(9.8+ 'seconds')
Lösung:
Verwenden Sie die Funktion str(), um eine Ganzzahl, eine Gleitkommazahl oder einen booleschen Wert in einen String-Typ umzuwandeln, bevor Sie ihn mit einem String verketten.
(2) Die Anzahl der Parameter beim Aufruf der Funktion ist falsch oder die Parameter werden nicht übergeben.
Fehlermeldung:
TypeError: Eingabe höchstens 1 Argumente erwartet, 2 erhalten
TypeError: say() fehlt 1 erforderliches Positionsargument: 'words'
Fehlerbeispiel 1:
input('Enter name', 'Age')
Hinweis: Die Ursache des Fehlers ist der Versuch, der Funktion input() einen zweiten Parameter bereitzustellen.
Fehlerbeispiel 2:
def say(words):
print(words)
say()
Hinweis: Fehler Der Grund liegt darin, dass beim Aufruf der Funktion keine Parameter übergeben werden.
Lösung:
Merken Sie sich die Funktionsverwendung, verstehen Sie die Parameterdefinition der Funktion und verwenden Sie die richtige Methode zum Aufrufen der Funktion.
5. KeyError Schlüsselfehler
Dieser Fehler tritt auf, wenn Sie einen nicht vorhandenen Schlüsselnamen verwenden, um auf ein Element im Wörterbuch zuzugreifen.
Fehlermeldung:
KeyError: 'c'
Fehlerbeispiel:
d= {'a':1, 'b':2}
print(d['c'])
Lösung:
Wenn Sie auf Elemente im Wörterbuch zugreifen, überprüfen Sie zunächst mit dem Schlüsselwort in, ob der Schlüsselname aufgerufen werden soll vorhanden ist, oder um mithilfe der get()-Methode des Wörterbuchs sicher auf Wörterbuchelemente zuzugreifen.
6. IndexError Indexfehler
Wenn der Index der Zugriffsliste den Listenbereich überschreitet, tritt ein Indexfehler auf.
Fehlermeldung:
IndexError: Listenindex außerhalb des gültigen Bereichs
Fehlerbeispiel:
a = [1, 2, 3]
print(a[3])
Hinweis: Der Grund für den Fehler ist, dass der 4. Index in Liste a nicht vorhanden ist. Denken Sie daran, dass die Indexe der Listen beginnend mit 0 nummeriert sind.
Lösung:
Ermitteln Sie die Länge der Liste über die Funktion len() und bestimmen Sie dann, ob der Index, auf den zugegriffen werden soll, den Bereich der Liste überschreitet.
7. UnboundLocalError Fehler bei nicht initialisierter lokaler Variable
Wenn Sie in einer Funktion eine nicht deklarierte globale Variable ändern, tritt dieser Fehler auf.
Fehlermeldung:
UnboundLocalError: lokale Variable 's'referenziert vor Zuweisung
Fehlerbeispiel:
s = 1
def test():
s += 1
print(s)
test()
Hinweis: Der Grund für den Fehler ist, dass das Paar ist nicht innerhalb der Funktion deklariert. Die globale Variable s wurde inkrementiert. Python behandelt die Variable s als lokale Variable, aber die Variable wird nicht initialisiert.
Lösung:
Wenn Sie globale Variablen innerhalb einer Funktion verwenden, deklarieren Sie sie einfach mit dem Schlüsselwort global.
Zusammenfassung
Kurz gesagt, es ist unvermeidlich, dass bei der tatsächlichen Programmierung Fehler auftreten. Aber keine Sorge, es sind nur Papiertiger. Anfänger sollten gut darin sein, Suchmaschinen zum Auffinden und Lösen von Problemen zu nutzen und auf Fehler zu prüfen. Wenn Sie den Inhalt der Fehlermeldung in das Suchfeld einer Suchmaschine eingeben, finden Sie viele Informationen zur Behebung des Fehlers.
Das obige ist der detaillierte Inhalt vonSieben häufige Fehler bei Python-Anfängern und ihre Lösungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!