J'avais une version 1 d'une fonction comme :
def f(a,b,c):
#Some processing
return some_result
Plus tard, je l'ai mis à niveau vers la version 2.
def f(a,b,c):
#Some processing
#Some more processing
return some_result, additional_result
Cette dernière version renvoie un tuple. Par conséquent, tout le code client utilisant la version 1 devient obsolète. Puis-je obtenir additional_result
sur demande ?
C'est-à-dire que vous obtenez additional_result
seulement quand vous le demandez alors que vous continuez à obtenir some_result
comme si rien n'avait changé.
Une astuce à laquelle j'ai pensé :
def f(a,b,c, need_additional = False):
#Some processing
#Some more processing
if not need_addional:
return some_result
else:
return some_result, additional_result
Rien de mieux ? Ou plus générique ?