5 conseils pratiques pour créer facilement une fonction python

Nous avons vu que pour bien structurer un programme il est nécessaire de créer des fonctions. Et une fonction python doit avoir un nom suffisamment explicite pour décrire un minimum son objectif. Puis mettre les arguments de la fonction entre parenthèses. Et enfin finir la ligne par deux points et enfin écrire le code qui définit la fonction.

abstract business code coder
Photo by Pixabay Exemple de fonction python

Cette partie permet justement de définir la fonction. Et si vous exécutez le programme sans appeler la fonction python, 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 écrit tout simplement le nom de la fonction et on lui donne les paramètres qu’on souhaite qu’elle utilise. Ainsi, la fonction renvoie le résultat grâce à l’instruction return.

Voici les cinq conseils qui vous aideront à bien créer des fonctions avec python :

Le choix du nom de la fonction python

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 python

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 de la fonction python. Je rappelle que les 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 python. 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é mesFonctions.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