Python-Debugging; print() und Assertions (Beispielanalyse 2)

乌拉乌拉~
Freigeben: 2018-08-23 13:38:04
Original
1711 Leute haben es durchsucht

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()
Nach dem Login kopieren

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
Nach dem Login kopieren

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')
Nach dem Login kopieren

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!
Nach dem Login kopieren

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 Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!