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.