7 Python -Fehler, die eigentlich Funktionen sindBild von Autor | Ideogramm

Python ist für viele Datenfachleute für Datenmanipulationen und maschinelles Lernen zu einem Hauptwerkzeug geworden, da es für Menschen einfach ist. Die Programmiersprache ist im Grunde genommen zum Goldstandard in der Datengemeinschaft geworden.

Wenn Sie mit Python bereits vertraut sind, begegnen Sie häufig auf fehlerhafte Informationen, wenn Sie eine falsche Syntax erstellen oder gegen die Regeln von Python verstoßen. Es ist in Pythons Designphilosophie eingebettet, um zu betonen Leichter zu bitten, Vergebung als die Erlaubnis zu bitten (EAFP), mit dem Sie den Code zuerst ausführen können, bevor Sie wissen, ob ein Fehler vorliegt.

Einige Python -Fehler sind keine Fehler, sondern Funktionen, die den Benutzern helfen, ihre Python -Fähigkeiten zu verbessern. Das Verständnis dieser Fehler ist von entscheidender Bedeutung, wenn wir sie als Anleitung für unsere Arbeit absichtlich verwenden möchten. Für Lernzwecke werden in diesem Artikel sieben verschiedene Python -Fehler untersucht, die Merkmale sind.

Lassen Sie uns darauf eingehen.

1. Syntaxfehler

Ein Syntaxfehler wird angesprochen, wenn der Python -Parser auf ungültige Code -Syntax trifft, die nicht der Python -Logik folgt. Jeder unsachgemäße Code wird als Fehler angezeigt, der für die Entwurfsfunktionen von Python von grundlegender Bedeutung wird. Lassen Sie uns den Fehler im Python -Code sehen.

Der obige Code erhöht einen Syntaxfehler wie unten.

 Cell In(6), line 1
    if True print("good day")
            ^
SyntaxError: invalid syntax

Der Fehler zeigt, dass wir uns nicht an die Python -Syntax halten. Das Syntax -Fehlerdesign ist beabsichtigt, da es sich um eine Python -Funktion handelt, die grundlegend angibt, dass eine Abweichung vom Commonplace festgelegt werden muss. Es wird keinen Code ausführen, der der Sprachgrammatik nicht folgt, und versucht nicht zu erraten, was wir tun wollen.

Der Syntaxfehler stellt sicher, dass wir immer einen klaren und eindeutigen Code haben. Es hilft auch bei der Zusammenarbeit, da der Commonplace konsistent bleibt, unabhängig davon, wo Sie die Python -Sprache betreiben.

2. Indexfehler

Für alle, die Python verwenden, gibt es viele Male, wenn wir Sequenzobjekte wie Hear oder Tupel für unsere Arbeit verwenden. Durch den Zugriff auf Daten in diesen Sequenzobjekten müssen wir Indexierungsmethoden verwenden.

Was passiert, wenn wir mit einem Index außerhalb seiner Grenzen zugreifen? Python wirft eine Fehlermeldung. Mal sehen, was mit dem tatsächlichen Code passiert.

lst = (1, 2, 3)
print(lst(5))

Der obige Code wirft den folgenden Fehler aus:

IndexError                                Traceback (most up-to-date name final)
Cell In(2), line 2
      1 lst = (1, 2, 3)
----> 2 print(lst(5))

IndexError: record index out of vary

Der Fehler wird als Indexfehler angezeigt, wodurch Sie darüber informiert werden, dass der Index außerhalb des Bereichs liegt. Der Fehler ist beabsichtigt, da er zeigt, dass Python keine stille Polsterung zulässt (ein Fall, in dem außerhalb der gebundenen Datenzugriff die Struktur automatisch mit Platzhalterwerten erweitert).

Wenn es passieren würde, würde das Verhalten subtile Fehler einführen, die mehr Probleme in einer komplexeren Pipeline verursachen. Zum Beispiel wird das Schleifen in einer Python -Sequenz die Schleife brechen, wenn der Index nicht Grenzen ist, was nicht passieren würde, wenn keine Indexfehler vorliegen würden.

3. Schlüsselfehler

Wie wir wissen, kartiert das Wörterbuchobjekt Schlüssel zu Werten, die im Inneren gespeichert sind. Ähnlich wie bei einem Indexfehler tritt ein Schlüsselfehler für das Wörterbuchobjekt auf, wenn der Suchfehler fehlschlägt, da der Schlüssel im Wörterbuch nicht vorhanden ist. Mal sehen, wie es im Python -Code wirkt.

d = {'a': 1}
print(d('b'))

Der obige Code erhöht den folgenden Fehler:

KeyError                                  Traceback (most up-to-date name final)
Cell In(3), line 2
      1 d = {'a': 1}
----> 2 print(d('b'))

KeyError: 'b'

Der Schlüsselfehler wird angesprochen, da kein ‚B‘ -Staste im Wörterbuch ist. Durch das Design stellt Python diesen Fehler explizit auf, da wir nicht möchten, dass ein unbeabsichtigtes Verhalten für den Schlüssel lautlos Platzhalterwerte verwendet.

Mit diesem Schlüsselfehler können wir alle Syntaxfehler oder Logikfehler während des Zugriffs des Wörterbuchs fangen, anstatt zu erraten, ob der Schlüssel vorhanden ist oder nicht. Der Fehler ist auch nützlich, wenn es mit der Attempt/außer Syntax kombiniert wird, um einen neuen Schlüssel im Wörterbuch zu erstellen, wenn es nicht vorhanden ist.

4. Identify Fehler

Identify Fehler ist ein Fehler, der auftritt, wenn wir eine Variable aufrufen, die zuvor nicht definiert wurde. Es gibt auch einen ähnlichen Fall, der als ungebundener lokaler Fehler bezeichnet wird, eine Unterklasse mit Namensfehler, in der wir eine Python -Funktion haben, die versucht, auf eine lokale Variable zuzugreifen, bevor sie definiert ist. Sehen wir den Fehler im Code unten an.

Der Fehler wird in der folgenden Ausgabe angezeigt.

NameError                                 Traceback (most up-to-date name final)
Cell In(5), line 1
----> 1 print(x)

NameError: identify 'x' just isn't outlined

Der Code erhöht einen Fehler, da wir die „x“ -Variable noch nicht definiert haben. Lassen Sie uns den Python -Code für den ungebundenen lokalen Fehler sehen.

def foo():
    x = x + 1  

foo()

Der Fehler wird in der folgenden Ausgabe angezeigt.

Cell In(4), line 2, in foo()
      1 def foo():
----> 2     x = x + 1

UnboundLocalError: can't entry native variable 'x' the place it's not related to a price

Beide Fehler hier werden aufgeworfen, weil wir Pythons Scoping -Regel folgen müssen, die besagt, dass wir nicht versehentlich Variablen verwenden können, die noch nicht vorhanden sind. Mit dem Fehler können Benutzer Tippfehler oder Fehler sofort fangen, anstatt Python stillschweigend Variablen zu erstellen, die unsere Python -Arbeit stören.

5. Typ Fehler

Der Typ -Fehler ist ein Fehler, der angesprochen wird, wenn wir eine bestimmte Operation auf einem Objekt jedoch mit dem falschen Objekttyp ausführen. Zeigen wir den Typ -Fehler mit dem folgenden Python -Code an.

Der Fehler wird wie in der folgenden Ausgabe gezeigt angesprochen.

TypeError                                 Traceback (most up-to-date name final)
Cell In(7), line 1
----> 1 subsequent((1, 2, 3))

TypeError: 'record' object just isn't an iterator

Der Typ -Fehler tritt auf, da wir kein Iteratorobjekt an die nächste Funktion übergeben können.

Python ist so konzipiert, dass Objekte nur auf ihre beabsichtigte Weise verwendet werden. Deshalb hilft dieser Fehler den Benutzern, subtile Fehler zu verhindern, und stellt sicher, dass die Funktion wie beabsichtigt funktioniert.

6. Wertfehler

Im Gegensatz zum Typ -Fehler wird der Wertfehler angehoben, wenn die Funktion ein korrektes Argument des Typs erhält, aber einen unangemessenen Wert. Zeigen wir es mit dem Python -Code.

Der Fehler wird im Ergebnis unten angezeigt.

ValueError                                Traceback (most up-to-date name final)
Cell In(8), line 1
----> 1 int("abc")

ValueError: invalid literal for int() with base 10: 'abc'

Sie können sehen, dass der Wertfehler auftritt, da wir einen Zeichenfolgenwert übergeben, der keine gültige Zahl ist. Die Funktion empfängt den richtigen Typ, aber nicht den richtigen Wert, sodass Python signalisiert, dass dies ein Fehler ist. Es ist das Python -Design, das zeigt, dass der Fehler stattfindet, anstatt ihn zu ignorieren oder einen Platzhalterwert zu setzen, da dies unsere Arbeit stören würde.

7. Behauptungsfehler

Ein Behauptungsfehler tritt auf, wenn die Assert -Anweisung verwendet wird und die Bedingung nicht erfüllt ist oder falsch ist. Es ist eine Funktion, die zum Debugieren und Durchsetzen von Annahmen in Ihrer Python -Arbeit nützlich ist. Lassen Sie uns den Fehler mit dem folgenden Python -Code sehen.

assert 2 + 2 == 5, "It isn't proper"

Sie erhalten den folgenden Fehler.

AssertionError                            Traceback (most up-to-date name final)
Cell In(13), line 1
----> 1 assert 2 + 2 == 5, "It isn't proper"

AssertionError: It isn't proper

Der Code 2 + 2 == 5 erzeugt einen falschen Wert, der zu einem Behauptungsfehler führt, wenn wir die Assert -Anweisung verwenden. Wir können immer Particulars über den Fehler bei der Verwendung von Assert angeben, ähnlich wie Sie oben sehen.

Der Behauptungsfehler hilft Benutzern, Flexibilität in der Entwicklung zu bieten, da wir ein fehleranfälliges System einrichten können, das ein einfacheres Debuggen ermöglicht. Durch die Auswahl der Bedingungen, unter denen der Behauptungsfehler erhöht wird, erhalten wir auch mehr Kontrolle darüber, wie sich der Fehler verhalten sollte.

Abschluss

Viele Datenfachleute verwenden Python. Die Programmiersprache wirft manchmal Fehler auf, die tatsächlich Merkmale sind, und so müssen wir unsere Augen offen halten und unseren Traceback -Stapel inspizieren.

Ich hoffe das hat geholfen!

Cornellius Yudha Wijaya ist ein Information Science Assistant Supervisor und Datenautor. Während er in Vollzeit bei Allianz Indonesien arbeitet, liebt er es, Python- und Datentipps über soziale Medien und das Schreiben von Medien zu teilen. Cornellius schreibt über eine Vielzahl von KI- und maschinellen Lernthemen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert