Maison > développement back-end > Tutoriel Python > Quand utiliser « essayer » ou « if » pour gérer les valeurs potentielles nulles en Python ?

Quand utiliser « essayer » ou « if » pour gérer les valeurs potentielles nulles en Python ?

Mary-Kate Olsen
Libérer: 2024-11-12 06:30:02
original
704 Les gens l'ont consulté

When to Use 'try' vs. 'if' for Handling Potential None Values in Python?

Quand utiliser « try » ou « if » pour les tests de valeur en Python

En Python, lors du test si une variable a un valeur, le choix entre utiliser « try » ou « if » se pose souvent. Cette question vise à fournir des indications sur la justification de chaque construction.

Considérons une fonction qui renvoie soit une liste, soit aucune valeur. Pour vérifier le résultat avant le traitement, nous avons deux options :

result = function();
if (result):
    for r in result:
        # process items
Copier après la connexion

ou

result = function();
try:
    for r in result:
        # Process items
except TypeError:
    pass;
Copier après la connexion

Justification de « essayer »/« sauf »

L'approche 'try'/'sauf' suppose la présence d'une valeur dans 'result' et gère les exceptions potentielles (par exemple, TypeError si la fonction renvoie None). Cela suit le principe EAFP (Easier to Ask for Forgiveness than Permission), qui privilégie la détection des exceptions lorsqu'elles se produisent plutôt que de les vérifier au préalable. Il est plus efficace dans les scénarios où les exceptions sont rares.

Justification de « si »

L'approche « si » vérifie explicitement la présence d'une valeur avant de tenter de le traiter. Bien que cela puisse être plus lent, il est recommandé lorsque des exceptions sont susceptibles de se produire fréquemment (c'est-à-dire lorsque le « résultat » est susceptible d'être Aucun dans ce cas).

Conclusion

Le choix dépend de la fréquence attendue des exceptions. Pour les exceptions peu fréquentes, « essayer »/« sauf » est plus rapide et suit le principe EAFP. Sinon, « if » est plus prudent pour éviter une gestion inutile des exceptions.

Considérations supplémentaires

  • La documentation Python recommande d'utiliser « try »/« except » pour contrôle de flux lorsque les exceptions sont exceptionnelles.
  • Les instructions « if » entraînent toujours un coût, tandis que la configuration « try »/« except » est presque gratuite, mais la gestion des exceptions est plus coûteuse.
  • L'EAFP le style est considéré comme « pythonique » et encourage un code propre et concis.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal