5 conseils pratiques pour créer facilement des fonctions

Nous avons vu que pour créer une fonction il faut utiliser un nom suffisamment explicite pour décrire un minimum l’objectif de la fonction. Puis mettre les arguments de la fonction entre parenthèses, finir la ligne par deux points et enfin écrire le code qui définit la fonction.

abstract business code coder
Photo by Pixabay

Cette partie permet justement de définir la fonction, et si on l’exécute, rien ne se passera par ce que, à l’instar des fonctions propres au langage, pour utiliser une fonction il faut l’appeler. Et pour ce faire on met tout simplement le nom de la fonction en lui donnant les paramètres qu’on souhaite qu’elle utilise. Les fonctions renvoient des résultats grâce à l’instruction return.

Voici les cinq conseils qui vous aideront à maîtriser la création de fonctions :

Le choix du nom de la fonction

Comme pour le nom de la fonction, les arguments, que celle-ci utilise, doivent avoir des noms qui donnent une idée sur leurs fonctionnements et utilités. Il ne faut pas hésiter à utiliser des bouts de phrases compactés en un seul mot, en mettant des lettres majuscules au milieu du nom de la variable pour le rendre un peu plus compréhensible. Si par exemple la variable est un prix de vente, on peut choisir une variable dont le nom est prixVente par exemple ; volmCylindre ; tempInit ; ainsi de suite…

Ecrire une description de la fonction

Prenez l’habitude d’écrire une petite description de la fonction au tout début de la fonction. Pour écrire un commentaire de plusieurs lignes, ouvrez 3 guillemets à la suite, écrivez la description de la fonction. N’oubliez pas de mettre dedans une description des arguments et du résultat retourné par la fonction. Certains IDE prennent en charge de cette partie de description et proposent des lignes pré-remplies qu’il suffit juste de renseigner les informations demandées. Voici un exemple de description de fonction que nous avons vu précédemment

def equaDegr2(a, b, c):

    """

    Ce programme résout les équations de 2nd degré de la forme:

    ax^2+bx+c = 0

    :param a: coefficient de x^2

    :param b: coefficient de x

    :param c: la constante

    :return: soit 2 valeurs de x qui vérifient l'égalité

            ou bien la seul valeur

            ou sinon un message disant que l'équation n'a pas de solution

    """

    import math

    descr = b**2 - 4*a*c

    if descr < 0:

        return "Cette équation n'a pas de solution dans le domaine du réel"

    elif descr == 0:

        x = -b/(2*a)

        return x

    else:

        x1 = (-b - math.sqrt(descr))/(2*a)

        x2 = (-b + math.sqrt(descr)) / (2 * a)

        return (x1, x2)

Commenter le code

Il ne faut pas hésiter à utiliser des commentaires pour décrire le fonctionnement de certaines parties du code. Je rappelle que lignes commentées ne sont pas pris en compte par le programme. Et pour mettre une ligne en commentaire, il suffit de la débuter par un dièse « # ».

Mettre des arguments par défaut

S’il est possible de mettre des arguments par défaut, on peut le faire à la définition de la fonction. Si par exemple pour le programme précédent, on considère que le paramètre « c » est souvent égale à 0 la définition de la fonction s’écrira de la manière suivante : 

def equaDegr2(a, b, c=0):

Importez vos propres fonctions

Créez un fichier où vous ne mettrez dedans que des fonctions. Le nom de fichier doit être choisi de manière à ce qu’il donne une description de son contenu. Ainsi vous pourrez appeler ce fichier dans n’importe quel programme, et la démarche à suivre est la même que pour l’appel des modules. Voici un exemple qui appel un fichier que j’ai appelé mesFonction.py et dans lequel j’ai mis les fonctions de résolution d’équation :

import mesFonctions

print("quel type d'équation voulez vous résoudre?")

print("Equation de 1er degré. Taper 1 puis entrée")

print("Equation de 2ème degré. Taper 2 puis entrée")

choix = input()

a = float(input("a = "))

b = float(input("b = "))

c = float(input("c = "))

if choix == 1:

    X = mesFonctions.equaDegr1(a, b, c)

else :

    X = mesFonctions.equaDegr2(a, b, c)

print("la solution de l'équation (s'elle existe) est : ",X)

ici le fichier est enregistré dans le même endroit que le programme exécuté, si ce n’était pas le cas il aurait fallu ajouter le chemin qui mène vers le fichier de fonction dans le programme.

Si vous avez aimé l'article vous êtes libre de le partager :)

2 commentaire

Laisser un commentaire