Tenir compte de ce segment Python:Raccourcir un segment de code souvent utilisé pour tester une valeur de retour en Python
def someTestFunction():
if someTest:
return value1
elif someOtherTest:
return value2
elif yetSomeOtherTest:
return value3
return None
def SomeCallingFunction():
a = someTestFunction()
if a != None:
return a
... normal execution continues
Maintenant, la question suivante: le segment de trois lignes au début de SomeCallingFunction pour obtenir la valeur de la fonction de test et de sauvetage si ce n'est pas Aucun, est répété très souvent dans de nombreuses autres fonctions. Trois lignes sont trop longues. Je veux le raccourcir à un. Comment je fais ça?
Je peux restructurer librement ce code et le contenu de someTestFunction cependant nécessaire. J'ai pensé utiliser des exceptions, mais celles-ci ne semblent pas aider à réduire la longueur du code appelant.
(je l'ai lu un peu de décorateurs Python, mais ne les ai pas utilisé. Serait-ce l'endroit? Comment ça marche?)
donc juste calrify ... si la fonction est Aucun continue et retourne autre chose? – hasen
Correct, "l'exécution normale continue" signifie que la fonction fait quelque chose qu'elle ne devrait faire que lorsque someTestFunction a retourné None. – Jaanus
Juste une note qu'il est légèrement moins efficace de tester "! = None" plutôt que "is not None" (voir PEP290). – chradcliffe