Fonction et sous-fonction dont les arguments portent le même nom

Le
Olivier
Bonjour à tous,
J'ai une fonction principale qui appelle trois, ou plus, sous-fonctions. la=
fonction principale prend un certain nombre d'arguments, les analysent et =
délègue une partie du travail à ces sous fonctions. Les arguments que=
prennent ces sous-fonctions ont donc le même nom que ceux de la fonction=
principale. Ci-dessous un exemple:
<code>
#!/usr/bin/env python

def main_function(arg1 = None, arg2 = None):
print "result_1 = "+sub_function_1(arg1 = arg1)
print "result_2 = "+sub_function_2(arg1 = arg2)

def sub_function_1(arg1 = None):
return str(arg1)


def sub_function_2(arg1 = None):
return str(arg1)

if __name__ == "__main__":
main_function(arg1 = 5, arg2 = "a")
</code>

La question que je me pose est de savoir si ceci pouvait poser un problèm=
e et si je devais ou pas donner des noms différents aux arguments de la f=
onction principale et a ceux des sous fonctions.

Dans mon programme cela semble fonctionner sans problème mais celui ci co=
mmence à prendre de l'ampleur et va en prendre de plus en plus.

D'avance je vous remercie pour vos réponse.

Olivier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain Ketterlin
Le #23509401
Olivier

Tout d'abord, pourrais-tu veiller à ce que les lignes de tes messages ne
dépassent pas 80 caractères ?

def main_function(arg1 = None, arg2 = None):
print "result_1 = "+sub_function_1(arg1 = arg1)
print "result_2 = "+sub_function_2(arg1 = arg2)

def sub_function_1(arg1 = None):
return str(arg1)



Ca ne pose pas de problème, les deux ensembles de noms ne sont pas dans
le même "namespace".

Cela dit, on n'est pas obligé d'utiliser des arguments nommés
systématiquement... La position suffit dans la grande majorité de s cas.

-- Alain.
Laurent Claessens
Le #23509441
Le 28/06/2011 13:10, Alain Ketterlin a écrit :
Olivier

Tout d'abord, pourrais-tu veiller à ce que les lignes de tes messages ne
dépassent pas 80 caractères ?

def main_function(arg1 = None, arg2 = None):
print "result_1 = "+sub_function_1(arg1 = arg1)
print "result_2 = "+sub_function_2(arg1 = arg2)

def sub_function_1(arg1 = None):
return str(arg1)



Ca ne pose pas de problème, les deux ensembles de noms ne sont pas dans
le même "namespace".



Du point de vue de la lisibilité, je dirais même que c'est mieux de
donner le même nom si ce sont a priori les mêmes objets.

mon centime et demi
Laurent
Publicité
Poster une réponse
Anonyme