Fonctions Python

Une fonction nous permet de créer un ensemble d'instructions que nous pouvons exécuter en cas de besoin.

Les fonctions sont essentielles dansPythonet dans de nombreux autres langages de programmation pour créer des programmes significatifs, car ils nous permettent de décomposer un programme en parties gérables, ils favorisent la lisibilité et la réutilisation du code.

Voici un exemple de fonction appeléehelloqui affiche «Bonjour!»:

def hello():
    print('Hello!')

C'est la fonctiondéfinition. Il y a un nom (hello) et un corps, l'ensemble des instructions, qui est la partie qui suit les deux-points et qui est en retrait d'un niveau à droite.

Pour exécuter cette fonction, nous devons l'appeler. Voici la syntaxe pour appeler la fonction:

hello()

Nous pouvons exécuter cette fonction une ou plusieurs fois.

Le nom de la fonction,hello, c'est tres important. Il doit être descriptif, afin que quiconque l'appelle puisse imaginer ce que fait la fonction.

Une fonction peut accepter un ou plusieurs paramètres:

def hello(name):
    print('Hello ' + name + '!')

Dans ce cas, nous appelons la fonction en passant l'argument

hello('Roger')

Nous appelonsparamètresles valeurs acceptées par la fonction dans la définition de fonction, etargumentsles valeurs que nous transmettons à la fonction lorsque nous l'appelons. Il est courant d'être confus au sujet de cette distinction.

Un argument peut avoir une valeur par défaut qui est appliquée si l'argument n'est pas spécifié:

def hello(name='my friend'):
    print('Hello ' + name + '!')

hello() #Hello my friend!

Voici comment nous pouvons accepter plusieurs paramètres:

def hello(name, age):
    print('Hello ' + name + ', you are ' + str(age) + ' years old!')

Dans ce cas, nous appelons la fonction en passant un ensemble d'arguments:

hello('Roger', 8)

Les paramètres sont passés par référence. Tous les types en Python sont des objets, mais certains d'entre eux sont immuables, y compris les entiers, les booléens, les flottants, les chaînes et les tuples. Cela signifie que si vous les passez en paramètres et que vous modifiez leur valeur à l'intérieur de la fonction, la nouvelle valeur n'est pas reflétée en dehors de la fonction:

def change(value):
    value = 2

val = 1 change(val)

print(val) #1

Si vous passez un objet qui n'est pas immuable et que vous modifiez l'une de ses propriétés, la modification sera reflétée à l'extérieur.

Une fonction peut renvoyer une valeur, en utilisant lereturndéclaration. Par exemple, dans ce cas, nous retournons lenamele nom du paramètre:

def hello(name):
    print('Hello ' + name + '!')
    return name

Lorsque la fonction rencontre lereturninstruction, la fonction se termine.

Nous pouvons omettre la valeur:

def hello(name):
    print('Hello ' + name + '!')
    return

Nous pouvons avoir l'instruction return dans un conditionnel, ce qui est un moyen courant de terminer une fonction si une condition de départ n'est pas remplie:

def hello(name):
    if not name:
        return
    print('Hello ' + name + '!')

Si nous appelons la fonction en passant une valeur qui évalue àFalse, comme une chaîne vide, la fonction se termine avant d'atteindre leprint()déclaration.

Vous pouvez renvoyer plusieurs valeurs en utilisant des valeurs séparées par des virgules:

def hello(name):
    print('Hello ' + name + '!')
    return name, 'Roger', 8

Dans ce cas, appelerhello('Syd')la valeur de retour est un tuple contenant ces 3 valeurs:('Syd', 'Roger', 8).


Plus de tutoriels python: