Vous arrive-t-il souvent de copier et coller votre code pour le réutiliser dans différentes sections de votre programme ?
Si tel est le cas, vous pouvez envisager d'utiliser des fonctions. Les fonctions sont une caractéristique très puissante des langages de programmation. Ils peuvent rendre le code plus efficace, plus facile à lire et plus élégant.
Une fonction est un bloc de code qui exécute une tâche. Il peut être appelé et réutilisé plusieurs fois. Vous pouvez transmettre des informations à une fonction et celle-ci peut renvoyer des informations. De nombreux langages de programmation ont des fonctions intégrées auxquelles vous pouvez accéder dans leur bibliothèque, mais vous pouvez également créer vos propres fonctions.
Lorsque vous appelez une fonction, le programme met en pause le programme en cours et exécute la fonction. La fonction sera lue de haut en bas. Une fois la fonction terminée, le programme continue de s'exécuter là où il s'était arrêté. Si la fonction a renvoyé une valeur, cette valeur sera utilisée là où la fonction a été appelée.
Il existe de nombreuses façons d'écrire des fonctions. La syntaxe exacte dépendra du langage dans lequel vous programmez. Nous montrerons des exemples en Python, JavaScript et C++ pour démontrer une gamme de syntaxe de programmation.
Le premier type de fonction que nous allons examiner est une fonction vide. Cela signifie simplement que la fonction ne renvoie pas de valeur. Les fonctions vides sont utilisées pour compléter un ensemble d'instructions. Dans ces exemples, la fonction que nous avons écrite s'appelle helloFunction . Le but de la fonction est de sortir "Hello World".
ASTUCE :donnez aux fonctions des noms qui expliquent ce qu'elles font. Il sera plus facile de gérer les fonctions et de lire le code au fur et à mesure que votre programme devient plus complexe.
def helloFunction() :
print("Bonjour le monde")
bonjourFonction()
Le mot clé def est utilisé en Python pour définir et créer une fonction. Ensuite, est le nom de la fonction. Les instructions de la fonction suivent sur la ligne suivante après les deux-points. Les espaces blancs sont importants en Python, alors assurez-vous d'indenter tout le code que vous voulez que votre fonction exécute. Dans l'exemple ci-dessus, la fonction exécute une ligne de code.
Vos yeux perçants ont peut-être remarqué que print() est aussi une fonction, mais elle est appelée différemment de notre fonction. Accrochez-vous à cette pensée pour le moment, nous explorerons les fonctions et les paramètres plus tard.
fonction bonjourFonction(){
alert("Bonjour le monde !");
}
bonjourFonction();
En JavaScript, le mot-clé fonction est utilisé pour créer des fonctions. Ensuite, nous avons le nom de la fonction. Tout code compris entre les accolades est exécuté lorsque la fonction est appelée.
Les espaces blancs ne sont pas importants en JavaScript, mais il est d'usage d'indenter le code dans la fonction. L'indentation facilite la lecture du code, ce qui est très important à mesure que vos programmes deviennent plus complexes.
Remarque :Tout comme print() dans l'exemple précédent, alert() est aussi une fonction.
#include
en utilisant l'espace de noms std ;
vide helloFunction(){
cout <<"Bonjour le monde!";
}
int main(){
bonjourFonction();
renvoie 0 ;
}
Les fonctions sont créées différemment en C++. Au lieu d'un mot-clé pour définir une fonction, le premier mot décrit le type de données que la fonction renverra. Dans ce cas, notre fonction ne renvoie aucune donnée, donc les données sont nulles. Ensuite, nous avons le nom de la fonction. Semblable à JavaScript, tout le code entre les accolades est exécuté lorsque la fonction est appelée. De même que pour JavaScript, les espaces blancs n'affectent pas la fonction mais constituent une bonne pratique.
Avez-vous repéré une autre fonction dans le code C++ ? Oui, main() est une fonction. Lorsque vous exécutez un programme C++, vous appelez automatiquement la fonction main. Lorsque la fonction principale est terminée avec succès, elle renvoie 0 lorsqu'elle quitte le programme pour signaler qu'il n'y a eu aucune erreur lors de l'exécution du programme.
Les fonctions vides sont excellentes si vous constatez que vous écrivez le même morceau de code encore et encore. Mais ils peuvent être limitants. Ils sont statiques et ne changent pas. Ils suivent toujours les mêmes instructions. Une façon d'augmenter leur utilité est de transmettre différentes valeurs à la fonction.
Vous aurez remarqué que les parenthèses suivaient les noms de toutes nos fonctions. Entre parenthèses, nous pouvons déclarer que des données sont nécessaires pour exécuter notre fonction. Ensuite, nous pouvons utiliser les données transmises à notre fonction dans la fonction. Reprenons les exemples précédents, mais cette fois, passons la phrase que nous voulons afficher.
def helloFunction(newPhrase) :
print(newPhrase)
helloFunction("Notre nouvelle phrase")
Maintenant, entre parenthèses, notre fonction déclare qu'elle a besoin d'une variable pour s'exécuter. Nous avons nommé la variable newPhrase et peut maintenant l'utiliser dans notre fonction. Lorsque nous appelons la fonction, nous devons transmettre les informations demandées en les plaçant entre crochets. Les mêmes modifications ont été apportées en JavaScript.
fonction helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction("Notre nouvelle phrase");
#include
en utilisant l'espace de noms std ;
void helloFunction(string newPhrase){
cout < }
int main(){
helloFunction("Notre nouvelle phrase");
renvoie 0 ;
}
Notre fonction C++ nécessitait un peu plus d'informations. Nous savons que votre fonction veut des données de chaîne, mais ce n'est pas suffisant pour C++. Lorsque vous créez votre fonction, vous devez spécifier le type de données dont votre fonction a besoin. Si vous n'envoyez pas le bon type de données, la fonction créera une erreur.
Cela peut sembler un peu ennuyeux, mais les langages stricts peuvent souvent vous éviter des maux de tête. Si vous écrivez une fonction en JavaScript qui nécessite un nombre entier, mais que le nombre est envoyé sous forme de chaîne, cela peut créer un bogue très difficile à détecter.
La capacité de fonction finale que nous couvrirons est le retour de données. Ceci est particulièrement utile lorsque vous souhaitez modifier des données avant de les utiliser. Bien que vous puissiez écrire cela en ligne, si vous utilisez les mêmes calculs plusieurs fois, comme la conversion de l'impérial en métrique, il peut être plus logique de l'écrire en tant que fonction. Notre exemple sera plus simple. Notre fonction nécessitera deux entiers et renverra la somme.
def addingFunction(a, b) :
retourner a + b
print(addingFunction(2, 4))
Dans cet exemple, notre fonction nécessite deux variables au lieu d'une. Nous l'indiquons en séparant nos noms de variables par une virgule. Le mot-clé retour indique à la fonction de renvoyer les données suivantes, dans ce cas, 2 + 4 ou 6. Nous appelons la fonction à l'intérieur de print() fonction.
Une fois que notre programme est arrivé à cette ligne, il s'est arrêté, a exécuté notre fonction, puis a continué comme si addingFunction(2, 4) était en fait juste la valeur renvoyée 6.
Le code JavaScript est très similaire au code Python. La principale différence est que la fonction est appelée dans une alerte.
fonction addFunction(a, b){
retourner a + b ;
}
alert(addingFunction(2, 4));
#include
en utilisant l'espace de noms std ;
int addFunction(int a, int b){
retourner a + b ;
}
int main(){
cout < renvoie 0 ;
}
Le code C++ fonctionne de manière similaire, mais comme d'habitude, nécessite un peu plus d'informations. Tout d'abord, nous devons dire quel type de données notre fonction renverra. Vous verrez que vide a été remplacé par int . Cela signifie qu'au lieu de ne renvoyer aucune donnée, notre fonction renverra un entier. Au-delà de cela, le code est similaire au code que nous avons déjà exploré.
Une chose amusante à propos des fonctions est que les fonctions peuvent appeler d'autres fonctions. Ils peuvent même s'appeler ! Mais avec un grand pouvoir vient une grande responsabilité. Ne devenez pas fou en créant du code avec des fonctions qui appellent d'autres fonctions qui appellent encore plus de fonctions.
Comme mentionné, chaque fois qu'une fonction est appelée, le programme s'arrête pendant qu'il exécute la fonction. Cela signifie que le programme est maintenu en mémoire active. Si vous appelez plusieurs autres fonctions sans les terminer, vous utilisez plus de mémoire active. Si vous ne faites pas attention, votre programme peut devenir incontrôlable.