Aller au contenu
Accueil » Comment apprendre à coder en Python ?

Comment apprendre à coder en Python ?

    Peur des serpents ? Pas de problème, nous ne parlerons pas d’animaux ici mais bien de comment nous allons nous faciliter certaines tâches récurrentes. Je vais tout d’abord vous faire une présentation du langage et vous parler de sa création. Ensuite nous verrons quelles sont les étapes pour l’apprendre. Enfin, je vous donnerai quelques exemples concrets afin d’illustrer mes propos. Bonne lecture à vous en espérant vous donner d’apprendre à coder en Python.

    Python c’est quoi ?

    Sans rentrer dans trop de détails techniques, Python est un langage de programmation permettant de développer des outils facilement et rapidement. Le typage des variables se fait dynamiquement, il n’y a pas besoin de les déclarer au préalable (je détaille plus sur les variables dans cet article). Le langage Python est sous une licence libre ce qui permet de l’utiliser partout et d’installer ce dont vous avez besoin sur n’importe quel ordinateur (à partir du moment où vous avez les droits administrateurs bien sûr). Le langage a été conçu pour être lisible et facile à comprendre. Une fois que vous aurez les principales fonctions en tête, vous verrez qu’il sera très simple de comprendre un script.

    La création de Python

    La date de la première version du langage est le 20 février 1991. Son créateur est Guido van Rossum, un développeur des Pays-Bas. Il a participé au développement de langage interprété ABC ce qui lui a permis d’apprendre énormément sur le développement d’un langage. L’objectif initial du développement du langage ABC était de remplacer le langage BASIC. Il devait être un langage facile à apprendre et facile à utiliser. Malgré les avantages que devait apporter ce langage, Guido pointa du doigt un défaut majeur dans la conception : le langage était difficilement extensible. C’est à dire qu’il était impossible de venir modifier certains paramètres du code. Par exemple, un éditeur de texte possède par défaut une liste de dictionnaires de plusieurs langues. Si l’application est extensible, l’utilisateur pourra rajouter son propre dictionnaire si ceux déjà implémentés ne répondent pas au besoin. Lors des vacances de Noël de 1989, il utilisa son temps libre pour développer une nouvelle solution reprenant les forces du langage ABC en évitant les limitations de ce dernier. Les premières versions furent utilisées dans les développement en cours et les retours utilisateurs étaient très positifs. Cela poussa Guido à continuer le développement du langage Python, toujours sur son temps libre. Après un peu plus d’un an de développement, en février 1991, la première version fut disponible en ligne. Concernant le baptême du langage, Guido Van Rossum voulait un nom court, unique et mystérieux. Fan de la série « Monty Python’s Flying Circus », il décide alors de nommer ce nouveau langage Python. Si vous souhaitez plus de détails à propos de la création du langage, voici un lien vers la FAQ du site officiel (ici).

    Comment apprendre à coder en Python ?

    Tout comme pour le VBA, que je présente ici, cela commence par l’architecture de votre programme et l’algorithmique associé. Il faudra acquérir les connaissances de bases, à savoir :
    – les types de variables
    – les différents types de structure
    – quelques librairies utiles permettant de ne pas partir de zéro à chaque fois
    – et des exemples pour illustrer le tout, ce que je vous fournirai dans mes articles.

    Une fois que vous savez quelle structure vous allez utiliser, il suffit d’appliquer la syntaxe. Celle-ci étant vraiment simple et explicite, les progrès sont vraiment rapides lors de l’apprentissage de ce langage. De plus, si vous coincez sur un sujet, avec les bons mots clés, vous pourrez trouver une mine d’or d’informations sur internet (mais aussi sur ce blog !). Alors les puristes sauteront peut-être au plafond, j’en suis conscient mais néanmoins, vous pourrez développer vos applications facilement et rapidement. Avec quelques fonctions en tête vous verrez que vous arriverez à développer vos propres outils avec une simplicité déconcertante. Ensuite, lorsque vous serez plus à l’aise, vous pourrez alors développer vos compétences pour aller vers de l’écriture de code plus performante, plus lisible mais dans un premier temps, on cherche à avoir un script qui fait le boulot :). Apprendre à coder en Python n’a jamais été aussi simple aujourd’hui ! Encore plus avec les récents développements de ChatGPT 🙂

    A quoi ça sert d’apprendre à coder en Python ?

    Voici quelques exemples avec une brève description des différentes applications que j’ai pu à mettre en place.

    1. Modifier le nom des fichiers

    Je pense que c’est l’une des premières applications que j’ai mis en place lorsque j’ai commencer à apprendre à coder en Python. Nous avions des logiciels qui généraient des dizaines de fichiers et pour ce retrouver facilement, nous les renommions. Après quelques campagnes de renommage fastidieuses, nous avons voulu automatiser cela. Avec quelques données d’entrée, nous avons réussi à boucler sur tous les dossiers et les fichiers à l’intérieur pour renommer les fichiers comme nous le souhaitions. Et cela prenait quelques secondes au lieu de plusieurs heures.

    2. Lire et modifier des fichiers « texte »

    Avec peu de lignes de commande vous pouvez parcourir un fichier texte. Si celui-ci est bien structuré et que vous savez retrouver ce que vous cherchez avec des mots clés, vous pourrez alors l’éditer automatiquement. C’était notre cas lorsque nous devions lancer des analyses en changeant quelques propriétés dans les fichiers. Au lieu de tout modifier à la main (je vous raconte pas les erreurs potentielles), le script venait éditer tout seul les fichiers et même lancer l’analyse. La première fois que nous avons fait ça, nous avions dû mettre 7 jours. Avec cet outil, nous avons réduit le temps à deux jours ! Et c’était essentiellement du temps machine, nous pouvions travailler en parallèle sur d’autres tâches.

    3. Faire des graphiques

    La plupart des données peuvent être récupérées sous forme de tableau. Les fichiers textes préformattés comme les CSV (fichier tabulé où le séparateur des colonnes est une virgule) sont aisément exploitable (lecture ligne par ligne et séparation des colonnes). Les fichiers Excel peuvent également être importés et stocker dans un tableau avec l’aide de la librairie « pandas ». Ce sujet fera l’objet d’un article.

    Une fois les données collectées, d’autres librairies permettent de créer tout type de graphique (courbe, nuage de points, graphiques en bar, camemberts, …). Les librairies les plus connues sont : Matplotlib, Seaborn et Plotly. Chacune d’elles fera l’objet d’un article dédié (voir plusieurs compte tenu des sujets à traiter :)).

    4. Réaliser des calculs scientifiques

    Nous avons vu très brièvement dans la section précédente qu’il est possible de récupérer les données de façon structurée. Avec Python des librairies comme NumPy et SciPy, vous pourrez analyser vos données avec des outils mathématiques complexes prêts à l’emploi. NumPy vous permettra de travailler sur tableaux à multiple dimensions. Scipy est une extension de Numpy qui rajoute des fonctionnalités mathématiques (optimisation, intégration, transformée de fourrier etc …)

    Grâce à tous ces développements et les librairies associées, vous aurez tous les outils à disposition pour rivaliser avec certains logiciels sous licence payante. Plus d’informations sont disponibles sur leur site respectif (Numpy & SciPy).

    5. Simuler un processus quelconque (une usine de fabrication par exemple)

    Avec la librairie SimPy, vous pouvez simuler un processus comme une usine de fabrication. Vous définissez les différentes étapes du processus et SimPy s’occupe d’organiser chaque évènement dans le temps. Chaque évènement est trié suivant les degrés de priorité ou suivant la disponibilité des ressources pour réaliser l’action. C’est une simulation à évènement discret. Contrairement à une simulation dite continue, la simulation à évènement discret avec pas à pas d’une tranche de temps constante. A chaque tranche de temps (ou pas de temps), certains évènements vont venir modifier notre système comme assembler une pièce par exemple. Et ainsi de suite jusqu’à obtenir notre produit fini. Plus d’informations sur la libraire sont disponibles ici.

    6. Entrainer des algorithmes d’intelligence artificielle

    L’intelligence artificielle est un sujet très à la mode de nos jours. Cependant il faut savoir que les algorithmes existent depuis plusieurs décennies. C’est essentiellement l’augmentation significative de la puissance de calcul de nos ordinateurs qui ont permis d’accélérer leur développement. Il existe aujourd’hui plusieurs librairies permettant de développer des algorithmes d’intelligence artificielle (Scikit-Learn, TensorFlow, Keras, PyTorch, ….). Chacune de ces librairies ont leur spécificité et s’appliquent à différents domaines. Une présentation plus détaillée sera faite dans différents articles.

    7. Et bien plus encore

    Et je ne vous ai parlé qu’application simple mais cela peut aller jusqu’à l’élaboration d’un petit logiciel complet qui peut être déployé dans votre service. Attention toutefois à la maintenabilité de celui-ci. Si vous êtes le seul à pouvoir gérer les problèmes, cela peut vite devenir chronophage si tout le monde vient vous déranger pour chaque bug trouvé. L’avantage, c’est que cela vous donne un côté « indispensable » 🙂 Je tiens à vous prévenir, de part mon expérience, que développer un outil pour soi et en développer un pour les autres ne requiert pas du tout la même approche. Dans le premier cas, vous serez le seul utilisateur et celui qui connait l’outil sur le bout des doigts. Si un problème survient, vous saurez tout de suite où aller chercher. Cependant, si ce sont vos collègues qui utilisent l’outil, par réflexe, ils viendront directement vous voir. Si vous êtes dans le second cas, je vous conseille de créer votre outil en ayant en tête de pouvoir gérer les erreurs que feront les futurs utilisateurs. Et ce seul point est une tâche à part entière car vous serez surpris de la créativité des utilisateurs :).

    Apprendre à coder en Python c’est l’adopter !

    Les grandes raisons qui m’ont poussé à développer mes compétences en Python sont le libre accès et la diversité des librairies disponibles. Vous pouvez en faire partout où voulez à partir du moment où vous avez un ordinateur. Il y a une énorme communauté qui développe sans arrêt de nouvelles librairies ou outils qui facilite vos développements. Enfin je trouve que c’est simple à programmer une fois que vous avez intégré la logique, pas d’instanciation des variables et c’est facile à lire.

    Néanmoins, pour bien développer ses outils, il faut se dégager du temps, et même prendre le temps ! Plus vous en ferez et plus vous développerez vos compétences. Vous serez finalement de plus en plus à l’aise avec le langage et vous serez finalement plus productif. Et enfin, pour automatiser vos tâches, il sera nécessaire que votre travail soit structuré ce qui va dans le bon sens, il n’y a que du plus ! Je ne vous cache pas qu’il faudra en faire régulièrement pour acquérir des habitudes et ne pas avoir à se replonger dans les bases à chaque fois. Néanmoins, plus vous ferez de codes et plus vous aurez une base étoffée que vous réutiliserez ensuite. Cela vous fera gagner énormément de temps par la suite.

    Merci de m’avoir lu, si l’article vous a plu, n’hésitez pas à le partager et mettre un commentaire.

    A bientôt, Benjamin

    Si vous avez aimé l'article, vous êtes libres de le partager ! :)

    Laisser un commentaire