Les chaînes de caractères
En maîtrisant les chaînes de caractères, vous comprendrez comment manipuler efficacement du texte dans vos programmes Python. Cela est particulièrement utile pour traiter des entrées utilisateur ou des fichiers texte.
Les chaînes de caractères (ou strings) sont l’un des types de données les plus utilisés en Python. Une chaîne est une séquence de caractères, comme des lettres, des chiffres ou des symboles, entourée de guillemets simples ou doubles.
Définir une chaîne de caractères
Exemple 1 : Chaînes simples
texte1 = "Bonjour"
texte2 = 'Python est génial !'
Exemple 2 : Chaînes multilignes
Pour créer une chaîne sur plusieurs lignes, utilisez des guillemets triples ('''
ou """
).
texte = """Ce texte
s'étend sur
plusieurs lignes."""
Accéder aux caractères d’une chaîne
Les chaînes sont des séquences, donc chaque caractère a un index, commençant par 0.
Exemple 3 : Indexation
texte = "Python"
print(texte[0]) # Premier caractère : P
print(texte[-1]) # Dernier caractère : n
Opérations de base sur les chaînes
Exemple 4 : Concaténation
On peut combiner deux chaînes avec l’opérateur +
.
prenom = "Alice"
nom = "Dupont"
print(prenom + " " + nom) # Alice Dupont
Exemple 5 : Répétition
L’opérateur *
permet de répéter une chaîne.
print("Python! " * 3) # Python! Python! Python!
Longueur d’une chaîne
La fonction len()
donne le nombre de caractères dans une chaîne.
texte = "Bonjour"
print(len(texte)) # 7
Slices (sous-chaînes)
Un slice permet d’extraire une partie d’une chaîne en utilisant des indices.
Exemple 6 : Extraction de sous-chaînes
texte = "Programmation"
print(texte[0:5]) # 'Progr'
print(texte[:6]) # 'Progra'
print(texte[6:]) # 'mmation'
Nous irons plus dans les détails dans le chapitre sur les Slices.
Méthodes utiles pour les chaînes
Python offre de nombreuses méthodes pour manipuler les chaînes.
Changer la casse
lower()
: Convertit la chaîne en minuscules.upper()
: Convertit la chaîne en majuscules.
texte = "Python"
print(texte.lower()) # python
print(texte.upper()) # PYTHON
Supprimer les espaces
strip()
: Supprime les espaces au début et à la fin.
texte = " Bonjour "
print(texte.strip()) # 'Bonjour'
Remplacer des caractères
replace()
: Remplace une sous-chaîne par une autre.
texte = "Bonjour tout le monde"
print(texte.replace("Bonjour", "Salut")) # Salut tout le monde
Diviser une chaîne
split()
: Coupe une chaîne en une liste, selon un séparateur.
texte = "un,deux,trois"
print(texte.split(",")) # ['un', 'deux', 'trois']
Joindre une liste en chaîne
join()
: Combine les éléments d’une liste en une seule chaîne.
liste = ["Python", "est", "génial"]
print(" ".join(liste)) # Python est génial
Caractères spéciaux
Certains caractères spéciaux s’écrivent avec un antislash (\
).
- \n
: Saut de ligne.
- \t
: Tabulation.
print("Ligne 1\nLigne 2")
print("Python\tRocks!")
Vérifications et recherches dans une chaîne
in
: Vérifie si une sous-chaîne est présente.startswith()
etendswith()
: Vérifient si une chaîne commence ou finit par une certaine valeur.find()
: Renvoie l’index de la première occurrence d’une sous-chaîne.
Exemple 7 : Recherches
texte = "Bonjour tout le monde"
print("Bonjour" in texte) # True
print(texte.startswith("Bon")) # True
print(texte.find("monde")) # 12
Exercices sur les chaînes de caractères
- Nom complet : Demandez à l’utilisateur son prénom et son nom, puis affichez-les ensemble dans une seule chaîne au format : "Nom, Prénom".
- Compteur de voyelles : Écrivez un programme qui compte le nombre de voyelles dans une chaîne donnée.
- Mot inversé : Demandez à l’utilisateur un mot et affichez-le à l’envers.
- Nettoyage de texte : Écrivez une fonction qui supprime tous les espaces inutiles au début et à la fin d’un texte, et le convertit en minuscules.
- Remplacement d’un mot : Demandez à l’utilisateur une phrase et un mot à remplacer, ainsi que le mot de remplacement, puis affichez la phrase modifiée.