Maison >développement back-end >Tutoriel Python >Débogage Python ; print() et assertions (exemple d'analyse 2)
Dans l'article suivant, nous découvrirons le débogage en python. Comprenez quelques méthodes de débogage python et sachez quel rôle le débogage python peut jouer dans la programmation python.
Pourquoi le débogage est nécessaire
La probabilité que le programme puisse être écrit une fois et exécuté normalement est très faible, fondamentalement pas plus de 1 %. Il y a toujours divers bugs qui doivent être corrigés. Certains bugs sont très simples. Vous pouvez le savoir en regardant le message d'erreur. Certains bugs sont très complexes. Nous devons donc savoir quelles variables ont des valeurs correctes et quelles variables ont des valeurs incorrectes lorsqu'une erreur se produit. un ensemble complet de moyens pour déboguer le programme afin de corriger le bug. Alors comment déboguer python ? La réponse sera donnée ci-dessous.
La première méthode est simple, directe, grossière et efficace, qui consiste à utiliser print() pour imprimer les variables qui peuvent poser problème :
def foo(s): n = int(s) print('>>> n = %d' % n) return 10 / n def main(): foo('0') main()
Sortie après exécution Recherchez la valeur de la variable imprimée dans :
$ python err.py >>> n = 0 Traceback (most recent call last): ... ZeroDivisionError: integer division or modulo by zero
Le plus gros inconvénient de l'utilisation de print() est que vous devrez la supprimer à l'avenir. Pensez au fait que print() est partout dans le monde. programme, et les résultats en cours d'exécution contiendront également de nombreuses informations indésirables. Nous avons donc une deuxième méthode.
La deuxième méthode est la suivante : partout où print() est utilisée pour faciliter la visualisation, l'assertion peut être utilisée à la place :
def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n def main(): foo('0')
assert Cela signifie que l'expression n ! = 0 doit être vrai, sinon, selon la logique de fonctionnement du programme, le code suivant tournera définitivement mal.
Si l'assertion échoue, l'instruction assert elle-même générera une AssertionError :
$ python err.py Traceback (most recent call last): ... AssertionError: n is zero!
Si le programme est plein d'assertions, ce n'est pas mieux que print(). Cependant, vous pouvez utiliser le paramètre -O pour désactiver assert lors du démarrage de l'interpréteur Python :
$ python -O err.py Traceback (most recent call last): ... ZeroDivisionError: division by zero
Après l'avoir désactivé, vous pouvez afficher toutes les instructions assert comme des passes.
Ce qui précède est tout le contenu décrit dans cet article. Cet article présente principalement les connaissances pertinentes du débogage python. J'espère que vous pourrez utiliser les informations pour comprendre le contenu ci-dessus. J'espère que ce que j'ai décrit dans cet article vous sera utile et vous facilitera l'apprentissage de Python.
Pour plus de connaissances connexes, veuillez visiter la colonne Tutoriel Python du site Web php chinois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!