
Le texte (chaînes de caractères `str`) et manipulations simples (concaténation)
Apprenez à créer et manipuler les chaînes de caractères (str) en Python. Découvrez les guillemets, les chaînes multilignes et l'opération de concaténation.
Définir des chaînes de caractères (`str`) en Python : les différentes syntaxes
En Python, le texte est géré à l'aide du type de données appelé chaîne de caractères, ou `str` en abrégé. Une chaîne de caractères est une séquence de caractères Unicode, ce qui signifie que Python peut gérer une très grande variété de symboles et de langues. Pour indiquer à Python qu'un ensemble de caractères doit être traité comme une chaîne, vous devez l'entourer de guillemets.
Python offre plusieurs façons de délimiter une chaîne de caractères, offrant une flexibilité appréciable :
- Guillemets simples (`'`) :
message_simple = 'Bonjour Python !' - Guillemets doubles (`"`) :
L'utilisation de guillemets doubles est pratique si votre chaîne contient des apostrophes (qui sont des guillemets simples). Inversement, utilisez des guillemets simples si votre chaîne contient des guillemets doubles.message_double = "C'est une chaîne avec une apostrophe." - Guillemets triples (simples `'''...'''` ou doubles `"""..."""`) :
Les guillemets triples sont particulièrement utiles pour les chaînes de caractères qui s'étendent sur plusieurs lignes. Les sauts de ligne que vous insérez directement dans la chaîne seront conservés. Ils sont également couramment utilisés pour les `docstrings`, des chaînes de documentation associées aux fonctions et modules.texte_multiligne = '''Ceci est un texte qui s'étend sur plusieurs lignes.''' docstring_exemple = """Une chaîne utile pour la documentation, avec des sauts de ligne préservés."""
Le choix entre guillemets simples et doubles est souvent une question de préférence personnelle ou de convention d'équipe, tant que vous restez cohérent. Si une chaîne doit contenir le même type de guillemet que celui utilisé pour la délimiter, vous devrez l'échapper en le précédant d'un antislash (`\`).
exemple_echappement_simple = 'Il a dit : \'Bonjour !\''
exemple_echappement_double = "Le chemin est \"C:\\Users\\Nom\"" # L'antislash lui-même doit être échappéLa concaténation : assembler des chaînes de caractères
L'une des opérations les plus fondamentales que vous effectuerez avec des chaînes de caractères est la concaténation. Il s'agit simplement de joindre deux ou plusieurs chaînes pour en former une nouvelle, plus longue. En Python, l'opérateur utilisé pour la concaténation est le signe plus (`+`), le même que celui utilisé pour l'addition numérique.
Voici un exemple simple de concaténation :
mot1 = "Python"
mot2 = "est"
mot3 = "génial"
phrase = mot1 + " " + mot2 + " " + mot3 + " !"
print(phrase) # Affichera : Python est génial ! Remarquez l'ajout explicite d'espaces (`" "`) entre les mots. Sans cela, les mots seraient collés les uns aux autres (`"Pythonestgénial!"`).Il est important de noter que l'opérateur `+` ne fonctionne pour la concaténation que si tous les opérandes sont des chaînes de caractères. Si vous essayez de concaténer une chaîne avec un nombre (ou un autre type non-chaîne) directement, Python lèvera une erreur `TypeError`.
nom = "Utilisateur"
numero = 123
# message_erreur = nom + numero # Ceci provoquera une TypeError ! Pour inclure un nombre dans une chaîne par concaténation, vous devez d'abord le convertir explicitement en chaîne à l'aide de la fonction `str()`. message_correct = nom + " " + str(numero)
print(message_correct) # Affichera : Utilisateur 123 Bien que la concaténation avec `+` soit simple, pour assembler de nombreuses chaînes ou pour insérer des variables de manière plus lisible, les f-strings (introduites précédemment et que nous revisiterons) ou la méthode `join()` sont souvent préférables.Répétition de chaînes et autres manipulations de base
Outre la concaténation, Python permet de répéter une chaîne de caractères un certain nombre de fois en utilisant l'opérateur de multiplication (`*`) avec un entier. Cela peut être pratique pour créer des motifs simples ou des séparateurs.
Par exemple :
motif = "xo-"
repetition_motif = motif * 5
print(repetition_motif) # Affichera : xo-xo-xo-xo-xo-
ligne_separation = "-" * 20
print(ligne_separation) # Affichera : -------------------- Si vous multipliez une chaîne par un entier inférieur ou égal à zéro, vous obtiendrez une chaîne vide.Une autre manipulation de base courante est de connaître la longueur d'une chaîne de caractères, c'est-à-dire le nombre de caractères qu'elle contient. La fonction intégrée `len()` est utilisée à cet effet.
salutation = "Hello, world!"
nombre_caracteres = len(salutation)
print(f"La chaîne \"{salutation}\" contient {nombre_caracteres} caractères.")
# Affichera : La chaîne "Hello, world!" contient 13 caractères.
chaine_vide = ""
longueur_vide = len(chaine_vide)
print(f"Une chaîne vide a une longueur de {longueur_vide}.")
# Affichera : Une chaîne vide a une longueur de 0. La fonction `len()` est très utile dans de nombreuses situations, par exemple pour valider la longueur d'une entrée utilisateur ou pour itérer sur les caractères d'une chaîne. Les chaînes de caractères en Python sont des objets riches avec de nombreuses autres méthodes pour des manipulations plus avancées (recherche, remplacement, découpage, etc.), que vous découvrirez progressivement.