Sites


Initiation à python

Rendre les fonctions plus universelles avec des paramètres

L'avantage d'une fonction est de pouvoir être réutilisée dans différents contextes. Mais en imaginant une fonction qui affiche un texte du type :

def affiche():
    print ("Bonjour"  )

que faire si nous souhaitons aussi afficher "bonsoir" ? Faut-il créer une autre fonction ? et ainsi les cumuler au point de s'y perdre. Il semble évident que non.  Python, comme tous les langages modernes, permet l'utilisation de paramètres. Ces paramètres sont des valeurs associées à des variables qui seront transmises directement à la fonction.

Les paramètres sont en général déclarés dans la déclaration de définition, et remplacent les valeurs constantes dans le bloc. On obtient ainsi :

def affiche(mot):
    print (mot ) 

et pour appeler la fonction :

affiche("bonjour")
> bonjour
affiche("bonsoir")
> bonsoir  

Si plusieurs paramètres sont nécessaires, il suffit de les séparer par des virgules dans la déclaration et dans l'appel :

def affiche(mot, nom):
    print (mot + ', ' +nom)

affiche("Bonjour", "Richard")  

ce qui est encore plus intéressant en jouant avec des valeurs inconnues saisies par l'utilisateur, récupérées dans des sources de données ou autre :

def affiche(mot,nom):
    print (mot+', '+nom)

print "Quel mot afficher ? "
mot = input()
print "pour qui ?"
nom = input()
affiche(mot,nom)

Enregistré dans un fichier et lancé :

> Quel mot afficher ?
Bonjour
> pour qui ?
Richard

> Bonjour, Richard  

 Attention cependant c'est l'ordre des paramètres qui compte, pas leur nombre :

affiche(nom,mot)
> Richard, Bonjour

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.