stats online

Comment Faire Une Docstring D'une Fonction Qui Ne Renvoie Rien


Comment Faire Une Docstring D'une Fonction Qui Ne Renvoie Rien

Alors, assieds-toi, prends un café (ou un croissant, on ne juge pas ici), parce qu'on va parler d'un truc super... passionnant... les docstrings ! Plus précisément, les docstrings pour ces fonctions qui, en gros, font le boulot et repartent sans même dire au revoir, ces fonctions qui ne renvoient rien. Oui, celles qui se terminent souvent par un discret None en coulisses.

Tu vois, c'est un peu comme un ninja qui range ta vaisselle. Tu ne le vois pas (car il ne renvoie rien), mais quand même, tu aimerais bien savoir qu'il utilise du liquide vaisselle bio et qu'il a une aversion pour les assiettes sales depuis l'enfance. C'est ça, la docstring !

Pourquoi Docstringer une Fonction qui Ne Renvoie Rien ? Sérieusement ?

Bonne question ! On pourrait se dire : "À quoi bon ? Elle ne renvoie rien, c'est du vent, de la fumée !" Faux ! Totalement faux ! Penses-y : une fonction qui ne renvoie rien fait quand même quelque chose. Elle peut modifier une variable globale, écrire dans un fichier, faire chanter un coq à minuit (si, si, ça arrive !), ou, plus probablement, interagir avec un autre bout de ton code.

Et, soyons honnêtes, dans six mois, quand tu reviendras sur ce code, tu auras oublié pourquoi tu as programmé cette fonction. Tu seras là, face à l'écran, à te demander si elle sert à quelque chose d'utile ou si tu as juste inventé un rituel vaudou numérique. La docstring, c'est ton assurance vie intellectuelle !

Imagine un peu le scénario : tu es en train de déboguer un truc hyper complexe, les cheveux en bataille, trois tasses de café derrière toi... et soudain, tu tombes sur cette fameuse fonction. Sans docstring, c'est la panique ! Tu dois décortiquer le code ligne par ligne, comme un archéologue qui essaie de comprendre les hiéroglyphes. Avec une docstring, c'est comme si Indiana Jones te soufflait la réponse à l'oreille : "Attention, elle modifie la base de données !" Sauvé !

2nde Tableau de variations d'une fonction - YouTube
2nde Tableau de variations d'une fonction - YouTube

Comment on Fait, alors ? Les Détails Croustillants

C'est plus simple qu'il n'y paraît. La docstring, c'est juste une chaîne de caractères (généralement entre triples guillemets, """ ou ''') placée juste après la définition de la fonction.

Le minimum syndical : Décris ce que la fonction fait. Genre :

def cri_de_la_marmotte():
    """Fait crier une marmotte (enfin, essaie...)."""
    print("SQUIIIICK!")

Déjà, c'est mieux que rien. Mais on peut faire beaucoup mieux.

Les fonctions – Arduino : l'essentiel
Les fonctions – Arduino : l'essentiel

Le niveau supérieur : Explique les effets secondaires. Est-ce qu'elle modifie une variable globale ? Est-ce qu'elle envoie un email à ton ex ? Est-ce qu'elle invoque un démon ? (Bon, j'exagère... peut-être.) Tout ce qui n'est pas évident doit être mentionné.

Exemple :

def vider_le_frigo(urgence=False):
    """Vide le frigo.

    Si urgence est True, mange tout, même le truc bizarre derrière les cornichons.
    Modifie la variable globale 'stock_de_nourriture'.
    """
    global stock_de_nourriture
    if urgence:
        stock_de_nourriture = []
    else:
        # ... un peu de logique plus complexe ici ...
        pass

Le niveau Jedi : Utilise les conventions (par exemple, la convention reST) pour formater ta docstring. Ça permet aux outils de documentation (comme Sphinx) de générer une belle documentation automatiquement. Ça rend aussi ton code plus lisible pour les autres développeurs (et pour toi, dans six mois !).

Python ♦ Fonction qui renvoie le discriminant delta et les racines ♦
Python ♦ Fonction qui renvoie le discriminant delta et les racines ♦

Par exemple :

def teleporter_chat(destination):
    """Téléporte un chat à une destination.

    :param destination: La destination du chat (une chaîne de caractères).
    :type destination: str
    :raises ValueError: Si la destination est "Mars" (les chats n'aiment pas Mars).
    :return: None
    """
    if destination == "Mars":
        raise ValueError("Les chats n'aiment pas Mars!")
    # ... la magie de la téléportation ici ...

Tu vois, on a décrit le type de l'argument destination, et on a même prévu une exception si on essaie d'envoyer le pauvre matou sur Mars ! Professionnel, non ?

Les Erreurs à Éviter (Parce qu'on en Fait Tous !)

* La docstring vide : Autant ne rien mettre du tout. C'est comme offrir un bouquet de fleurs en plastique à ta grand-mère : l'intention est là, mais le résultat est... discutable.

Fonctions de référence : cours de 1ere - Mathématiques
Fonctions de référence : cours de 1ere - Mathématiques

* La docstring qui répète le nom de la fonction : Du genre "def faire_un_truc(): """Fait un truc."""" No comment.

* La docstring mensongère : Si ta fonction est censée envoyer un email et qu'en fait elle supprime ton compte Facebook, il y a un problème !

En résumé : Sois clair, précis, et n'hésite pas à ajouter une touche d'humour (avec modération, bien sûr). Une bonne docstring, c'est un cadeau pour ton futur toi et pour les autres développeurs qui auront la chance (ou la malchance) de lire ton code. Et n'oublie pas, même si la fonction ne renvoie rien, elle fait des choses. Et ces choses méritent d'être documentées ! Alors, à tes claviers, et que la docstring soit avec toi !

Comment montrer qu'une fonction est continue ? - YouTube Les listes en Python : application aux suites et aux fonctions Les fonctions, ces outils naturels. • les Maths en Tongs Formule pour renvoyer le nom d'une feuille de calcul Fonctions Vidéo 3 Tracer fonction affine méthode 2 - YouTube Exemple 5 : Savoir montrer qu'une suite de fonctions ne converge pas Comment faire des tableaux dans Excel Tableau de variation d'une fonction paire - TRONC COMMUN SCIENTIFIQUE Comment Faire un Retour à la Ligne dans une Cellule sur Excel. [3ème] Notion de fonction partie III : Prouver qu'un point appartient

You might also like →