
C’est un mardi soir pluvieux en février, le genre de soirée où la pluie de Clermont-Ferrand tape contre les carreaux et où l’on n’a qu’une envie : se blottir sous un plaid. Pourtant, je suis là, assise à ma table de cuisine, les yeux rivés sur mon écran qui refuse obstinément d’afficher un simple message de bienvenue. La lueur bleue de l'écran se reflète sur ma tasse de verveine refroidie alors que le reste de l'appartement est plongé dans le noir, et je me demande pourquoi ce qui semble si simple en français devient un casse-tête chinois dès qu’il s’agit de code.
Avant de vous raconter mes déboires avec les guillemets, une petite précision : ce carnet de bord contient quelques liens affiliés. Si vous craquez pour une ressource en passant par eux, je reçois une petite commission, mais le prix reste identique pour vous. Je ne vous parle ici que des outils qui m’aident vraiment, comme la Formation au langage Python qui a été mon point de départ cette année.
Quand un mot devient une chaîne de prisonnier
Au début, je pensais qu’écrire du texte en Python, c’était juste taper des mots. Mais j'ai vite compris que pour l'ordinateur, un mot n'est pas une entité magique, c'est une chaîne de caractères. C'est un peu comme des perles sur un fil : chaque lettre, chaque espace, chaque virgule est une perle à une place bien précise. Si vous oubliez le fil (les guillemets), tout s'écroule.
J'ai passé une heure à chercher une erreur l'autre soir pour réaliser que j'avais simplement oublié de fermer un guillemet à la fin d'une phrase. On a le choix entre 2 types de guillemets standards : les simples (') ou les doubles ("). C'est pratique quand on veut écrire une phrase qui contient une apostrophe, mais quand on débute, on finit toujours par s'emmêler les pinceaux.

Le mystère de l'indexation à zéro
Après environ trois semaines de pratique, j'ai rencontré mon plus grand ennemi : l'indexation. En Python, le premier indice d'une séquence est 0. Pas 1. Zéro. Je me demande sérieusement si les gens qui ont inventé l'indexation à zéro voulaient juste tester la patience des débutants comme moi. C'est comme si, en faisant la file à la boulangerie, la première personne était la numéro zéro. C’est contre-intuitif au possible !
Pourtant, c'est le secret pour "découper" les mots. Une fin d'après-midi en juin, j'ai enfin réussi à extraire les trois premières lettres d'un prénom en utilisant les crochets. C'était une petite victoire, mais j'ai eu l'impression d'avoir craqué un code secret. J'ai d'ailleurs appris que si on essaie de changer une lettre directement dans un mot, Python nous envoie promener. Les chaînes sont "immuables". C'est comme essayer de changer la couleur d'une perle déjà enfilée sans couper le fil : impossible, il faut recréer une nouvelle chaîne.
Les f-strings : ma bouée de sauvetage
S'il y a bien un truc qui a cliqué ces derniers jours, ce sont les f-strings. Introduites avec la version 3.6 de Python, c'est devenu ma méthode préférée pour insérer des variables dans du texte. Avant, je me battais avec des signes plus (+) et je recevais sans cesse l'erreur "TypeError: can only concatenate str (not 'int') to str". C'est le grand classique : essayer de mélanger des carottes et des navets, ou plutôt du texte et des nombres, sans prévenir Python.
Avec les f-strings, on met un petit 'f' devant ses guillemets et on glisse ses variables dans des accolades. C'est aussi fluide que d'ajouter du sucre dans un yaourt. C'est beaucoup plus propre que les vieilles méthodes que j'avais croisées sur des vieux forums. Si vous voulez voir comment j'ai galéré avec d'autres structures, j'ai aussi écrit sur la façon de comment utiliser les dictionnaires en Python sans perdre le fil.

Le monde des données massives et la réalité du terrain
Un ami qui travaille dans l'analyse de données m'a dit un jour que ma façon de faire (utiliser des petites boucles pour modifier mes textes) ne tiendrait pas la route face à des jeux de données massifs. Pour les analystes manipulant du Big Data, les méthodes standards avec boucles ralentissent trop le système. Ils doivent impérativement maîtriser les expressions régulières et la vectorisation avec des outils comme Pandas.
Bon, pour moi qui trie encore mes listes de courses, c'est un peu comme comparer ma petite cuisine avec une usine agroalimentaire, mais ça permet de comprendre pourquoi certains outils sont plus complexes que d'autres. Pour l'instant, je me contente de mes petites fonctions comme .upper() pour mettre en majuscules ou .replace() pour corriger une faute de frappe partout dans mon texte.

Mes petites victoires du soir
L'autre soir, mon script de tri de prénoms a enfin fonctionné. Le soupir de soulagement et les épaules qui se relâchent quand la console affiche enfin le texte exactement comme je l'avais imaginé... c'est pour ça que je continue. Même sans être une flèche en maths, on peut dompter ces lignes de code. Ce n'est pas toujours glorieux, il y a souvent des miettes de pain sur le clavier et des moments de solitude intense, mais ça avance.
Si vous aussi vous avez envie de vous lancer sans devenir chauve à force de vous arracher les cheveux, je ne peux que vous conseiller de suivre une structure claire. Pour ma part, la Formation au langage Python [Mon point de départ] a vraiment été le tuteur dont j'avais besoin pour ne pas abandonner au bout de trois jours. Et si jamais le code pur vous fatigue, j'ai aussi un œil sur la Formation Cisco [Pour plus tard], car comprendre comment les machines se parlent entre elles, ça a l'air passionnant aussi.
Allez, je ferme l'ordinateur pour ce soir. La verveine est glacée, mais mon script tourne. C'est tout ce qui compte. Est-ce que demain je me souviendrai encore pourquoi on commence à compter à zéro ? Rien n'est moins sûr.