Quand devriez-vous utiliser « try » et quand devriez-vous utiliser « if » en Python ?

Susan Sarandon
Libérer: 2024-11-15 11:00:03
original
876 Les gens l'ont consulté

When Should You Use 'try' and When Should You Use 'if' in Python?

Décider entre les constructions « essayer » et « si » en Python

Lors du test si une variable a une valeur, choisir entre « essayer » ou « si » peuvent être un sujet de débat. Examinons la justification de l'utilisation de chaque approche.

EAFP (plus facile de demander pardon que la permission) contre LBYL (Look Before You Leap)

Python encourage l'EAFP sur LBYL. EAFP consiste à essayer une opération et à détecter les exceptions si elles se produisent. LBYL, quant à lui, implique de vérifier les conditions au préalable avant de tenter l'opération.

Considérations sur l'efficacité et la lisibilité

L'aspect efficacité dépend de la fréquence attendue des exceptions. Si les exceptions sont rares, la surcharge des blocs try/sauf peut être annulée par la vitesse des instructions if. Cependant, si les exceptions sont plus courantes, try/sauf peut être plus rapide car il évite la surcharge des enregistrements de condition dans les instructions if.

Exemple

Considérez le code suivant qui vérifie si une fonction renvoie une liste :

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

Si 'result' est susceptible d'être une liste la plupart du temps, l'approche try/sauf est plus efficace. Cependant, si 'result' est souvent Aucun, l'instruction if est préférable.

Mesures du temps

Les mesures du temps montrent que try/sauf est plus rapide lorsque les exceptions sont vraiment exceptionnelles , tandis que les déclarations if sont plus rapides lorsque les conditions sont généralement remplies.

Conclusion

La décision entre « essayer » et « si » dépend de :

  • Fréquence attendue des exceptions
  • Considérations d'efficacité
  • Préférences de lisibilité et de style de codage

En général, EAFP (essayer/sauf) peut être un système plus « pythonique » " approche, surtout lorsque les exceptions sont rares. Cependant, LBYL (instructions if) peut être plus appropriée lorsque les exceptions sont courantes.

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