3. Les chaînes de caractères¶
Les chaînes de caractères (ou strings) sont des séquences immuables de caractères utilisées pour représenter
du texte. En Python, elles sont délimitées par des guillemets simples (') ou doubles (").
1. Création et manipulation de base¶
1.1 Créer une chaîne de caractères¶
chaine1 = "Bonjour" # Avec des guillemets doubles
chaine2 = 'Python' # Avec des guillemets simples
chaine3 = """Chaîne
multi-ligne""" # Chaîne multi-ligne (guillemets triples)
1.2 Accéder aux caractères¶
Les chaînes sont des séquences indexées (comme les listes). L’index commence à 0.
mot = "Python"
print(mot[0]) # Affiche 'P' (premier caractère)
print(mot[-1]) # Affiche 'n' (dernier caractère)
1.3 Longueur d’une chaîne¶
1.4 Concatenation et répétition¶
# Concatenation
salutation = "Bonjour, " + "monde!" # "Bonjour, monde!"
# Répétition
echo = "Écho! " * 3 # "Écho! Écho! Écho! "
2. Slicing (découpage)¶
Le slicing fonctionne comme pour les listes.
mot = "Programmation"
# Extraire une sous-chaîne
print(mot[0:4]) # "Prog" (indices 0 à 3)
print(mot[:7]) # "Program" (du début à l'index 6)
print(mot[7:]) # "mation" (de l'index 7 à la fin)
print(mot[::2]) # "Pormtion" (un caractère sur deux)
print(mot[::-1]) # "noitammargorP" (inverse la chaîne)
3. Méthodes essentielles pour les chaînes¶
| Méthode | Description | Exemple | Résultat |
|---|---|---|---|
str.upper() |
Convertit en majuscules. | "python".upper() |
"PYTHON" |
str.lower() |
Convertit en minuscules. | "PYTHON".lower() |
"python" |
str.capitalize() |
Met la première lettre en majuscule. | "python".capitalize() |
"Python" |
str.title() |
Met la première lettre de chaque mot en majuscule. | "bonjour tout le monde".title() |
"Bonjour Tout Le Monde" |
str.strip() |
Supprime les espaces au début et à la fin. | " Python ".strip() |
"Python" |
str.lstrip() / str.rstrip() |
Supprime les espaces à gauche/droite. | " Python ".lstrip() |
"Python " |
str.replace(old, new) |
Remplace une sous-chaîne par une autre. | "Python".replace("P", "J") |
"Jython" |
str.split(sep) |
Divise la chaîne en une liste selon un séparateur. | "1,2,3".split(",") |
["1", "2", "3"] |
str.join(iterable) |
Concatène les éléments d’un itérable avec la chaîne comme séparateur. | ",".join(["a", "b", "c"]) |
"a,b,c" |
str.find(sub) |
Trouve l’index de la première occurrence de sub (-1 si introuvable). |
"Python".find("th") |
2 |
str.count(sub) |
Compte le nombre d’occurrences de sub. |
"banana".count("a") |
3 |
str.startswith(prefix) |
Vérifie si la chaîne commence par prefix. |
"Python".startswith("Py") |
True |
str.endswith(suffix) |
Vérifie si la chaîne se termine par suffix. |
"Python".endswith("on") |
True |
str.isdigit() |
Vérifie si tous les caractères sont des chiffres. | "123".isdigit() |
True |
str.isalpha() |
Vérifie si tous les caractères sont des lettres. | "Python".isalpha() |
True |
Exemples d’utilisation des méthodes¶
texte = " bonjour tout le monde "
# Nettoyage et formatage
texte_nettoye = texte.strip().capitalize()
print(texte_nettoye) # "Bonjour tout le monde"
# Remplacement
texte_modifie = texte.replace("bonjour", "salut")
print(texte_modifie) # "salut tout le monde"
# Division et jointure
mots = texte.strip().split()
texte_reconstitue = " ".join(mots)
print(texte_reconstitue) # "bonjour tout le monde"
4. Boucles et chaînes de caractères¶
4.1 Parcourir une chaîne avec une boucle¶
4.2 Compter les voyelles¶
mot = "Programmation"
voyelles = "aeiouyAEIOUY"
compte = 0
for lettre in mot:
if lettre in voyelles:
compte += 1
print(f"Nombre de voyelles : {compte}") # Affiche 5
5. Chaînes et validation¶
5.1 Vérifier si une chaîne est un nombre¶
def est_nombre(chaine):
return chaine.isdigit() or (chaine.startswith("-") and chaine[1:].isdigit())
print(est_nombre("123")) # True
print(est_nombre("-456")) # True
print(est_nombre("12.34")) # False
5.2 Valider une adresse e-mail (simplifiée)¶
def est_email_valide(email):
return "@" in email and "." in email.split("@")[-1]
print(est_email_valide("alice@example.com")) # True
print(est_email_valide("mauvais.email")) # False
6. Chaînes et conversions¶
6.1 Convertir une chaîne en nombre¶
nombre_str = "123"
nombre_int = int(nombre_str) # Conversion en entier
nombre_float = float(nombre_str) # Conversion en flottant
6.2 Convertir un nombre en chaîne¶
Utilisation de l’IA
Page rédigée en partie avec l’aide d’un assistant IA. L’IA a été utilisée pour générer des explications, des exemples et/ou des suggestions de structure. Toutes les informations ont été vérifiées, éditées et complétées par l’auteur.