Im folgenden Artikel erfahren Sie mehr über das Debuggen in Python. Lernen Sie einige Python-Debugging-Methoden kennen und erfahren Sie, welche Rolle Python-Debugging bei der Python-Programmierung spielen kann.
Warum Debuggen notwendig ist
Die Wahrscheinlichkeit, dass das Programm einmal geschrieben und normal ausgeführt werden kann, ist sehr gering, im Grunde nicht mehr als 1 %. Es gibt immer verschiedene Fehler, die behoben werden müssen. Einige Fehler können anhand der Fehlermeldung erkannt werden. Wenn ein Fehler auftritt, müssen wir wissen, welche Variablen korrekte und welche Variablen falsche Werte haben ein vollständiger Satz von Mitteln zum Debuggen des Programms, um den Fehler zu beheben. Wie debuggt man also Python? Die Antwort wird weiter unten gegeben.
Die erste Methode ist einfach, direkt, grob und effektiv. Sie besteht darin, print() zu verwenden, um die Variablen auszudrucken, bei denen möglicherweise Probleme auftreten:
def foo(s): n = int(s) print('>>> n = %d' % n) return 10 / n def main(): foo('0') main()
Suchen in die Ausgabe nach der Ausführung Gedruckter Variablenwert:
$ python err.py >>> n = 0 Traceback (most recent call last): ... ZeroDivisionError: integer division or modulo by zero
Der größte Nachteil der Verwendung von print() besteht darin, dass Sie es in Zukunft löschen müssen. Denken Sie daran, dass print() überall im Programm vorhanden ist Die laufenden Ergebnisse enthalten außerdem viele Junk-Informationen. Wir haben also eine zweite Methode.
Die zweite Methode ist: Überall dort, wo print() zur Unterstützung der Anzeige verwendet wird, kann stattdessen eine Behauptung verwendet werden:
def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n def main(): foo('0')
assert bedeutet, dass der Ausdruck n != 0 sein sollte wahr sein, andernfalls wird der folgende Code gemäß der Logik des Programmbetriebs definitiv schief gehen.
Wenn die Behauptung fehlschlägt, löst die Assertion-Anweisung selbst AssertionError aus:
$ python err.py Traceback (most recent call last): ... AssertionError: n is zero!
Wenn das Programm voller Behauptungen ist, ist es nicht besser als print(). Sie können jedoch den Parameter -O verwenden, um Assert beim Starten des Python-Interpreters zu deaktivieren:
$ python -O err.py Traceback (most recent call last): ... ZeroDivisionError: division by zero
Nach dem Deaktivieren können Sie alle Assert-Anweisungen als Durchgänge anzeigen.
Das Obige ist der gesamte in diesem Artikel beschriebene Inhalt. In diesem Artikel werden hauptsächlich die relevanten Kenntnisse zum Python-Debugging vorgestellt. Ich hoffe, dass das, was ich in diesem Artikel beschrieben habe, für Sie hilfreich ist und Ihnen das Erlernen von Python erleichtert.
Weitere Informationen zu diesem Thema finden Sie in der Spalte Python-Tutorial auf der chinesischen PHP-Website.
Das obige ist der detaillierte Inhalt vonPython-Debugging; print() und Assertions (Beispielanalyse 2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!