Manipulation des Chaînes de Caractères en Python

Les Chaînes de caractères
Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Maîtrisez Python : Analyse et visualisations des données
Revoir le teaser Je m'abonne
3,5
Transcription

Description Programme Avis
3,5

Les objectifs de cette vidéo sont de:

  • Comprendre l'utilisation des différentes cotes pour les chaînes de caractères en Python
  • Maîtriser la concaténation et la multiplication des chaînes
  • Savoir utiliser les fonctions LEN et FORMAT pour manipuler les chaînes
  • Apprendre à convertir des nombres en chaînes de caractères

Explorez les techniques de base pour manipuler des chaînes de caractères en Python, incluant la concatenation, le formatage et la gestion des segments de texte multiples.

Ce tutoriel couvre l'essentiel de la manipulation des chaînes de caractères en Python. Vous apprendrez comment utiliser les simples, doubles et triples cotes pour définir des chaînes de caractères, comment gérer les retours à la ligne avec des triples cotes, et comment échapper des caractères spéciaux dans les chaînes.

Nous aborderons également différentes opérations sur les chaînes de caractères telles que la concaténation, l'utilisation de l'opérateur de multiplication, et l'indexation pour accéder aux sous-chaînes. Vous découvrirez comment extraire et manipuler des parties spécifiques d'une chaîne à l'aide des indices.

En outre, ce tutoriel présente les fonctions LEN pour calculer la longueur d'une chaîne, et FORMAT pour créer des chaînes formatées en fonction des besoins de présentation.

Enfin, nous discuterons des méthodes de conversion des nombres en chaînes de caractères en Python, et comment gérer les types de données pour éviter les erreurs courantes lors de la concaténation de chaînes et de nombres.

Voir plus
Questions réponses
Pourquoi utiliser des triples cotes en Python pour les chaînes de caractères?
Les triples cotes permettent de définir des chaînes de caractères multilignes, facilitant ainsi la manipulation de textes avec des retours à la ligne.
Qu'est-ce que l'échappement de caractères dans les chaînes de caractères Python?
L'échappement de caractères en Python permet d'inclure des caractères spéciaux dans une chaîne sans les interpréter comme des délimiteurs de fin de chaîne. Cela se fait en précédant le caractère à échapper d'un backslash '\'.
Comment la fonction LEN est-elle utilisée en Python?
La fonction LEN en Python est utilisée pour calculer la longueur d'une chaîne de caractères, en incluant tous les caractères, espaces compris.
Dans le langage Python, on va considérer les mots, les phrases, les accentuations, les caractères à accent, comme des séquences de caractères qui seront toutes du type String, ou plutôt en Python, str. Comme vous pouvez le voir ici, la fonction type, qui sert à retourner le type de données manipulées, va retourner str pour bonjour tout le monde. Ces séquences peuvent être entourées de cotes, les caractères avec cote simple et cote double de citation en français, qui peuvent être simple, double ou triple. Par exemple, toutes ces orthographes ci-dessous sont équivalentes, que vous mettiez une cote simple, une cote double ou une triple double cote. Alors, pourquoi on en arriverait jusqu'à mettre une triple double cote ? C'est que les triples double cotes, plutôt les triples cotes dans le contexte, ont une fonctionnalité supplémentaire, dans le sens où elles acceptent les chaînes de caractères multilignes ou de plusieurs lignes. Typiquement, si on considère ce bloc de Python, avec une variable valide, qui contient un texte multiligne, donc vous voyez qu'il y a des séparations et des retours à la ligne dans ce bloc de texte, cette variable-là est valide et elle s'affiche correctement. Par contre, si vous reprenez la même variable et que vous mettez toute l'instruction, toute la chaîne de caractères entourée d'une simple double cote, à ce moment-là, l'expression est invalide au sens Python du terme, comme on peut le voir dans l'erreur ci-dessous, qui indique à la ligne 1, ce qui vient de cas ici, on voit la ligne 1, une erreur. L'erreur est une erreur de syntaxe. Python a repéré un IOL, c'est-à-dire un end-of-line, c'est-à-dire une fin de ligne, au moment où il a scanné une chaîne de caractères littérale. Et donc, il vous demande ce qu'il doit faire de cette chaîne de caractères. Ce n'est pas le cas avec la triple cote, puisque la triple cote supporte effectivement le retour à la ligne. Alors, on a toujours la question de se dire, mais quand nous, on veut dans la chaîne de caractères ajouter nous-mêmes des codes de citation, c'est possible. Alors, on va devoir échapper le caractère concerné en le précédant du caractère backslash, c'est-à-dire ce caractère-là. On le voit ici, avec bonjour tout le monde, qui va contenir lui-même des doubles cotes. Si on ne mettait pas le backslash, l'expression serait valide à la fin du premier double cote. Le fait d'avoir échappé ce caractère, et ce caractère ici, permet à Python de l'ignorer lorsqu'il parse l'expression, et de considérer que la fin de la chaîne de caractères est bien ici. Et donc, cette expression, quand on la print, quand on l'affiche, elle est bien valide. Et on remarque les doubles cotes ici. Il y a beaucoup d'opérations à faire sur les chaînes de caractères, et beaucoup de fonctions liées. Ce sera l'objet d'ailleurs de la vidéo qui suit. Mais on va commencer par parler de concaténation de chaînes de caractères. Alors, la concaténation, c'est quoi ? C'est le procédé qui va permettre de décrire l'assemblement de deux ou plusieurs chaînes de caractères en une. Pour permettre l'ajout d'une chaîne de caractères à une autre, on utilisera le caractère plus, que l'on peut omettre en cas d'ajout d'une seule chaîne supplémentaire. Typiquement, cette expression ici, et cette expression ici, sont tout à fait valides. Ce qui est amusant, c'est que si l'opérateur d'addition fonctionne, l'opérateur de multiplication fonctionne aussi avec les chaînes de caractères. Ça peut nous permettre de construire des trucs assez amusants. Typiquement ici, deux fois bora. D'un point de vue logique, on a l'impression que ça écrirait borabora, et c'est effectivement le cas. Borabora. On peut, tout comme une expression mathématique que l'on aurait vue au collège, au lycée ou en école primaire, mettre entre parenthèses une expression et lier une multiplication avec une addition. Typiquement ici, on a écrit borabora, auquel on a ajouté le caractère espace, on le voit ici, très important, et le caractère ! Pourquoi important ? Parce que c'est une question de typographie en français. Après les caractères d'accentuation, on met un espace, et on en met un avant. On avance sur la recherche et l'indexation d'une chaîne de caractères. Je vous ai dit qu'une chaîne de caractères, c'était une séquence de caractères. Et comme les listes que nous avons vues précédemment, les chaînes de caractères se comportent finalement comme des listes. Et nous pouvons donc accéder à chacun des caractères à partir de son index numérique. Un rappel ici, les listes, ou plutôt les indices de listes, commencent à zéro. C'est pas logique, mais c'est comme ça. Un premier exemple avec un prénom, Valéria. Si vous prenez le nom à l'index zéro, ou plutôt à l'indice zéro, vous obtenez la lettre V. Nous pouvons aussi extraire une sous-partie de cette liste, ou plutôt de cette séquence de caractères. Si nous démarrons la chaîne de caractères à zéro, et que nous souhaitons récupérer les trois premiers éléments, nous récupérerons Val. Nous pouvons aussi faire le choix différent. Le choix de décider de récupérer seulement quatre caractères. Je vous en avais parlé dans le chapitre sur les listes. Ce qui se trouve à gauche des deux points, c'est l'indice. Ce qui se trouve à droite des deux points, c'est le nombre de caractères. Et donc ici, nous avons fait le choix de récupérer les quatre premiers caractères, Valet. Enfin, nous pouvons aussi faire le choix de commencer à récupérer la chaîne de caractères à partir de la lettre qui a l'indice 4. Et à l'aide de deux points, et sans définir de nombre, récupérer la suite de la chaîne de caractères. Et du coup, et c'est assez parlant ici, il en vient finalement une information qui est plutôt utile lorsque l'on manipule une chaîne. Peu importe l'index que nous choisissons à gauche et à droite, si nous concaténons cette expression-là, le fait de récupérer tout à partir d'un certain nombre et l'indice et toute la suite de la chaîne, à ce moment-là, nous récupérons la chaîne complète. Et on le voit ici. Nous avons Name 2.2 plus 2 de 2 points. Name 2.3 plus Name 3 de 2 points. Name 2.4 plus Name 4 de 2 points. Et nous récupérons dans tous les cas Valéria. Alors, ça marche dans le cas où x est inférieur à la taille totale de la chaîne de caractères, c'est-à-dire son nombre de caractères. Valéria, c'est 1, 2, 3, 4, 5, 6, 7 caractères. Alors justement, comment on calcule la longueur d'une chaîne de caractères ? Pour mesurer cette taille, nous utiliserons la fonction LEN. C'est un diminutif de LENF qui veut dire longueur. Nous avons ici différents exemples. Un qui est intéressant, c'est le LEN sur 1000 lignes, qui va compter pour 7 caractères, puisque le caractère espace aura été compté, et il faut faire bien attention à ça. Ensuite, la fonction FORMAT. Nous avions vu jusque-là la fonction PRINT. La fonction PRINT est utile pour du débogage, pour de l'utilitaire, mais si vous voulez formater cette chaîne de caractères, c'est-à-dire si vous voulez adapter sa visualisation par rapport à la valeur de la variable, vous aurez besoin de fonctions de formatage. Un premier exemple ici de l'appel à la fonction FORMAT. Nous avons cette expression sous forme de chaîne de caractères, qui contient des accolades. Ces accolades, ce seront des expressions qui vont être remplacées lors de l'appel à la fonction FORMAT, et elles seront remplacées dans l'ordre d'apparition. Qu'est-ce que ça veut dire dans le contexte ? Ça veut dire qu'ici, la première accolade sera remplacée par JINDENIM, ou plutôt JEANDENIM dans le contexte. Le prix ici sera remplacé par l'accolade, et la dernière accolade sera remplacée par 40. Alors comme on peut le voir ici, et contrairement à la fonction PRINT, on peut passer des chaînes de caractères, mais aussi des chiffres, dans une fonction FORMAT. Alors, en quoi ça change par rapport à la fonction PRINT ? Puisque finalement, cette expression-là, on aurait pu l'écrire avec la fonction PRINT. Le gros intérêt de la fonction FORMAT, c'est que dans ces expressions sous-accolades, nous allons pouvoir passer des éléments pour indiquer à Python comment nous souhaitons formater la variable que nous lui passons. Typiquement, si on considère cette expression-ci entre accolades, qui commence par un deux points, et qui est suivie par un point, un 2 et un f. Qu'est-ce que cela veut dire ? Le deux points signifie que nous voulons activer des règles de formatage particulières. Le caractère .2 précise la précision voulue, c'est-à-dire à deux chiffres. La lettre f, quant à elle, indique que l'on souhaite formater la variable en tant que décimant l. f, dans le contexte, veut dire flottant. Cette opération doit aussi effectuer un arrondi positif. En appliquant ces règles de formatage au prix, dans un cas où le prix que l'on souhaite passer est plutôt à plusieurs décimales et pas seulement à deux, à ce moment-là, on va pouvoir appliquer le calcul qui est ici, et on voit donc le résultat, où le prix est à 22,49 €. Ceci n'est qu'un exemple, et la fonction format est plutôt bien documentée dans la documentation anglaise et française de Python. Il est évidemment possible de passer trois décimales, ou de faire du formatage sur des polices scientifiques, ou du formatage sur du pourcent. Tout ce genre de choses est disponible dans la documentation. Je passe sur un dernier sujet de cette vidéo, pour vous parler de transformation de nombres en chaînes de caractères. Car oui, parfois vous avez des chiffres que vous voulez manipuler comme des chaînes de caractères, typiquement des identifiants ou des booléens, par exemple vous avez stocké 0 pour oui et 1 pour non, ou le contraire, et vous pouvez avoir des identifiants uniques qui identifient un client, par exemple 1, 2, 3, 4, 5, 6, et vous ne comptez pas en faire une somme. Ce n'est pas un nombre pour vous, mais c'est un identifiant unique, donc c'est plutôt une chaîne de caractères. En Python, on l'a vu, chaque donnée a un type, et chacun de ces types de données a ses propres fonctions. Par exemple, si la fonction print est utilisée pour afficher du texte, alors tout le contenu qui suit doit être du texte. Comme dans l'exemple ci-dessous. Si vous concatenez Bonjour tout le monde, Bonjour et Tout le monde sont des chaînes de caractères, du coup ça fonctionne. Par contre, puisque print est une fonction de débogage et qu'elle va adapter son affichage au type de données que l'on passe, si vous essayez de concatener une chaîne de caractères et un entier, à ce moment-là la fonction print échoue, parce que la concaténation échoue. Et donc il n'est pas possible de concatener une chaîne de caractères et un entier. En tout cas pas dans la fonction print. Et c'est d'ailleurs l'erreur qui a été révélée ici. L'erreur en ligne 2 de ce bloc de code est une erreur de type typeError. On ne peut seulement concatener des strings avec des strings, pas des flottants. Une solution pour faire ça, que j'ai abordée plus ou moins discrètement dans l'essentiel de ces notebooks, c'est de faire appel à une fonction de casting. Une fonction qui va transformer un type de données en un autre. La fonction string, c'est justement son but. La fonction string, ou plutôt la fonction str, va, si c'est possible, c'est possible avec des nombres, transformer le type de données flottant en type de données string. Du coup, nous avons deux strings et la fonction print refonctionne à nouveau. La fonction format, elle, n'a pas besoin de faire du casting, c'est-à-dire qu'il n'y a pas besoin de transformer le type de données avant d'utiliser cette fonction.
4 commentaires
3,5
4 votes
5
4
3
2
1
elephorm-1464076@addviseo.com
Il y a 3 months
Commentaire
Bonne formation mais vraiment dommage de ne pas avoir au moins les liens des supports de cours.
nicolasmichaux1
Il y a 1 year
Commentaire
Bonnne formation mais aucun support de cours
lebris.gilles76
Il y a 2 years
Commentaire
Très bien , mais il manque les supports de cours
antoinem
Il y a 2 years
Commentaire
Bien mais il manque les supports de cours
Nos dernières formations Python
  • Pack 5 formations
    Pack Python : Des bases aux techniques avancées
    Découvrir
    Réputé pour être le langage de programmation le plus populaire au monde, Python est très plébiscité pour ses différentes utilisations.  A travers ce pack de 5 formations, vous apprenez les fondamentaux de la programmation Python, vous maîtrisez les techniques avancées et vous découvrez comment utiliser Python pour le web et pour l’analyse et la visualisation des données. Apprendre à programmer en Python : Apprendre les fondamentaux du langage de programmation Python. Apprendre Python : Qualité de code et maintenance : Maîtriser Python avec une qualité de code et de maintenance optimales. Maîtriser Python : Techniques avancées : Formez-vous aux différentes fonctionnalités avancées de python. Apprendre le web avec Python/ Django : Découvrez la programmation Web : Apprendre les principes fondamentaux de la programmation Web Maîtriser Python : Analyse et visualisations des données : Apprendre à utiliser Python pour l’analyse et la visualisation des données
    22h52 154 leçons
  • Apprendre Python   - Qualité de code et maintenance
    Découvrir
    Maîtriser Python avec une qualité de code et de maintenance optimales
    3h09 23 leçons
  • Maîtriser Python  - Techniques avancées
    Découvrir
  • Apprendre à programmer en Python
    Découvrir
    Apprendre les fondamentaux du langage de programmation Python
    6h33 60 leçons 4,75 / 5
  • Apprendre le Web avec Python/Django - Découvrez la programmation web
    Découvrir
    Apprendre les principes fondamentaux de la programmation Web
    4h38 32 leçons 3,50 / 5