def hello(): print("bonjour !")
hello()
>>> bonjour !
Quand on stocke des valeurs dans des variables, on écrit, ligne après ligne
a = 1 b = 1
On peut aussi faire des calculs avec ces variables, sur une nouvelle ligne
c = a + b
Sur chacune de ces lignes, nous écrivons des instructions. Chaque instruction est une étape dans l'écriture d'un algorithme.
Les fonctions, ce sont des listes d'instructions, comme des séries de calcul par exemple, que l'on regroupe et que l'on stocke dans un nom de fonction. Par exemple :
def addition(): a = 1 b = 1 c = a + b
Pour écrire une fonction, il faut respecter la syntaxe suivante :
def
, pour définition en anglaisaddition
()
et deux points :
Pour l'instant, nous n'avons fait qu'écrire la fonction. Il faut maintenant utiliser la fonction pour qu'elle nous serve à quelque chose. Pour utiliser une fonction, il faut l'appeler par son nom, suivi de deux parenthèses :
addition()
Cette nouvelle ligne est encore une instruction, qui cette fois-ci exécute les instructions contenues dans le corps de la fonction. Ici, la valeur 2
est stockée dans une variable c
. Mais tout cela reste invisible. Pour l'instant alors ajoutons une nouvelle fonction pour afficher le résultat :
def addition(): a = 1 b = 1 c = a + b print(c)
La fonction
print()
est une fonction interne de Python qui permet d'afficher des résultats, to print en anglais.
Dans Blender, pour visualiser les « sorties », par exemple avec la fonction print()
, il faut ouvrir la console système dans le menu fenêtre :
Continuons d'« améliorer » cette fonction d'exemple en comprenant comment ajouter des variables de fonction. Au lieu de créer une fonction qui additionne 1
et 1
, nous allons faire une fonction qui additionne deux variables :
def addition(a,b): c = a + b print(c)
Cette fonction qui « réécrit » une simple fonction d'addition équivalente à la touche +
d'une calculette, prend maintenant deux arguments de fonction a
et b
. Voici maintenant comment nous pouvons utiliser cette fonction :
addition(1,1)
ou
addition(0.5,1.5)
On vient d'ajouter des arguments en entrée de fonction. Maintenant, ajoutons des arguments de sortie de fonction avec le mot clé return qui veut juste dire « retourner » en bon français. Pour l'instant, nous pouvions juste afficher le résultat de cette addition avec print()
. Mais il est en général plus utile d'écrire des fonctions qui prennent en entrée des arguments, qui sont des données, des valeurs, et qui retourne, en sortie, d'autres valeurs.
def addition(a,b): c = a + b return c
Maintenant nous pouvons nous servir de cette fonction ainsi :
c = addition(360,5) print(c)
Quand nous exécutons ce code, la fonction addition()
est « appelée » en prenant en compte les valeurs que nous lui donnons (qui sont donc variables en fonction des usages). La fonction effectue pas à pas les instructions qui sont contenues dans la fonction, puis « retourne » le résultat. Ce résultat, enfin, est stocké dans une nouvelle variable, ici nommée c
. Pour terminer, nous utilisons la fonction interne print()
en « passant comme argument » notre variable c
qui contient donc le résultat.
Dans l'exemple précédent, si l'on voulait écrire en sortie quelque chose comme :
Le tour du monde en 365 jours
ou
Le tour du monde en 366 jours
il faudrait pouvoir écrire ceci :
c = addition(360,5) print("Le tour du monde en " + c + " jours")
Mais ici, il faut réaliser une conversion, car nous voulons travailler avec deux types de variables :
c
est une variable de type nombre
Mais dans la fonction print()
, nous utilisons
Le tour du monde en
qui est une chaîne de caractères
Il faut donc convertir la valeur de c
en chaîne de caractère, qu'en anglais, on appelle string
:
str()
pour convertir un nombre en mot, c'est-à-dire un « texte ».Il faut donc écrire :
c = addition(360,5) d = str(c) print("Le tour du monde en " + d + " jours")
Ou d'une façon condensée :
print("Le tour du monde en " + str(addition(360,5)) + " jours")
addition()
renvoie le nombre 365
str()
renvoie le texte « 365 »Le tour du monde en
, 365
, jours
Site sous licence Creative Commons BY-NC-ND v4.0 : Milovann Yanatchkov