Mémo : Les chaines de caractères
Les chaines de caractères sont des séquences : elles sont ordonnées et itérables.
Les chaines de caractères sont immuables : elles ne peuvent pas être modifiées une fois créées.
Les chaines de caractères sont constituées de caractères, c'est-à-dire de points de code Unicode.
Généralité
Création d'une chaine
Les chaines de caractères s'écrivent entre apostrophes (guillements simples) '...' ou entre guillements (guillemets doubles) "...".
alphabet = "abcdefghijklmnopqrstuvwxyz"
Tous les caractères unicode sont utilisables.
couleurs_cartes = "♠♣♥♦"
Certains caractères (on parle des caractère d'échappement) s'obtiennent à l'aide du symbole \ :
- \n : saut de ligne
- \t : tabulation
- \' : apostrophe (guillemet simple)
- \" : guillement (guillemet double)
- \\ : antislash
texte_sur_deux_lignes = "Bonjour !\nÇa va ?"
Création d'une chaine à partir d'un int ou d'un float
L'utilisation de la fonction str() permet de convertir une donnée de n'import quel type en son équivalent str.
Longueur d'une chaine
len(ch1) |
Renvoie la longueur de la chaine ch1. |
|---|
L'opérateur + appliqué aux chaines : concaténation de chaines
La concaténation est l'action d'enchainer deux éléments de même type.
ch1 + ch2 |
Renvoie une chaine qui est la concaténation des chaines ch1 et ch2. |
|---|
Récupération d'un caractère d'une chaine
ch1[i] avec i≥0 |
Renvoie le iième caractère en partant du début. Le première caractère a la position 0. |
|---|---|
ch1[i] avec i<0 |
Renvoie le iième caractère en partant de la fin. Le dernier caractère a la position -1. |
Exemple :
alphabet = "abcdefghijklmnopqrstuvwxyz"
lettre1 = alphabet[0] # lettre1 contient "a"
lettre2 = alphabet[-1] # lettre2 contient "z"
Parcours des caractères d'une chaine
Parcours par les valeurs
Les chaines de caractères sont itérables, elles peuvent donc être utilisées dans l'instruction for ... in ....
Exemple :
chaine = "abcdefghijklmnopqrstuvwxyz"
for caract in chaine: # caract est une variable qui prend successivement comme valeurs les caractères de la chaine de caractères
print(caract, end=" ")
Parcours par les indices
chaine = "abcdefghijklmnopqrstuvwxyz"
for i in range(len(chaine)):
texte = "Le caractère d'indice " + str(i) + " est : " + chaine[i] + "."
print(texte)
Condition d'appartenance
Les opérateurs in et not in permettent de tester la présence d'un caractère dans une chaine.
Ces opérateurs peuvent donc être utilisés dans les conditions (par exemple avec if ou while).
Exemple :
voyelles = "aeiouy"
caractere = "a"
if "a" in voyelles:
print(caractere, "est une voyelle")
else:
print(caractere, "n'est pas une voyelle")
Quelques méthodes supplémentaires applicables aux chaines
Si on considère une variable ch de type str, on peut lui appliquer les méthodes suivantes :
ch.lower() |
Renvoie une chaine identique avec des minuscules |
|---|---|
ch.upper() |
Renvoie une chaine identique avec des majuscules |
ch.capitalize() |
Renvoie une chaine identique avec seulement la première lettre en majuscule |
ch.split() |
Renvoie une liste dont les éléments sont les sous-chaines de ch |
ch.join(liste) |
Renvoie une chaine à partir des éléments de liste en utilisant ch comme séparateur |
ch.find(sch) |
Renvoie la position de sch dans ch ou -1 si sch n'est pas trouvée |
ch.count(sch) |
Renvoie le nombre d'occurrence de sch dans ch |
ch.replace(ch1,ch2) |
Renvoie une chaine où les occurrences de ch1 sont remplacés par ch2 |