Python:
Organisation du code en fonctions

Comment faire :

Disons que vous écrivez un script pour calculer le carré et le cube d’un nombre. Sans fonctions, c’est un désordre de répétitions :

num = 4
square = num * num
cube = num * num * num
print(f"Carré : {square}, Cube : {cube}")

num = 5
square = num * num
cube = num * num * num
print(f"Carré : {square}, Cube : {cube}")

Sortie :

Carré : 16, Cube : 64
Carré : 25, Cube : 125

Avec des fonctions, c’est plus propre :

def square(n):
    return n * n

def cube(n):
    return n ** 3

num = 4
print(f"Carré : {square(num)}, Cube : {cube(num)}")

num = 5
print(f"Carré : {square(num)}, Cube : {cube(num)}")

Sortie :

Carré : 16, Cube : 64
Carré : 25, Cube : 125

Examen approfondi

Autrefois, lorsque les programmes étaient simples, vous pouviez vous en sortir en écrivant simplement une liste d’instructions. Mais à mesure que les logiciels devenaient plus complexes, les développeurs se sont rendu compte qu’ils réécrivaient sans cesse le même code. Bonjour les fonctions — des blocs de code réutilisables qui effectuent une seule action.

Les alternatives aux fonctions incluent les classes (regroupement des fonctions avec les données sur lesquelles elles opèrent) et le code en ligne (intelligence exactement là où vous en avez besoin, mais risqué pour des tâches complexes). En ce qui concerne la mise en œuvre, l’astuce ne consiste pas seulement à créer des fonctions, mais à les faire bien exécuter une seule chose — pensez au principe de responsabilité unique. Les fonctions devraient idéalement aussi être sans état, ce qui signifie aucune surprise avec les données entrantes ou sortantes.

Voir aussi