Généralités
Les chaînes de caractères font partie d’une catégorie d’objets Python que l’on appelle des séquences au même titre que les listes et les tuples. Une chaîne de caractères est une expression alphanumérique entourée de guillemets simples ou doubles.
- chaine = "Hello world !"
Les chaînes sont des séquences de caractères. Chacun de ceux-ci occupe une place précise dans la séquence. Sous Python, les éléments d ’une séquence sont toujours indicés (ou numérotés) de la même manière, c ’est-à-dire à partir de zéro .
Propriétés :
- Comme de nombreux autres langages de programmation populaires, les chaînes de caractères en Python sont des tableaux d’octets représentant des caractères Unicode.
- Python n’ayant pas de type spécifique de données de caractère, un caractère unique est simplement une chaîne dont la longueur est 1.
- Les crochets peuvent être utilisés pour accéder aux éléments de la chaîne repérés par leur indice.
Exemples :
- # Une chaîne de caractères est de type str
- ville = "Paris"
- print(type(ville))
- '''
- <class 'str'>
- '''
- # Longueur de la chaîne
- print(len(ville))
- '''
- 5
- '''
- # Extraction du caractère d'indice 0 (c.a.d. en première position)
- print(ville[0])
- '''
- P
- '''
- # Extraction du dernier caractère
- print(ville[-1])
- '''
- s
- '''
- # Extraction de tous les caractères (méthode 1)
- for element in ville :
- print(element)
- '''
- P
- a
- r
- i
- s
- '''
- # Extraction de tous les caractères (méthode 2)
- for i in range(len(ville)) :
- print(ville[i])
- '''
- P
- a
- r
- i
- s
- '''
Slicing
Il arrive fréquemment, lorsque l’on travaille avec des chaînes de caractères, que l’on souhaite extraire une petite chaîne d’une chaîne plus longue. Python propose pour cela une technique simple que l’on appelle slicing (découpage en tranches ). Elle consiste à indiquer entre crochets les indices correspondant au début et à la fin de la tranche que l’on souhaite extraire.
- nom = "Laure Dinateur"
- # Extraction des caractères de l'indice 0 inclus à 5 exclu
- print(nom[0:5])
- '''
- Laure
- '''
- # Extraction des caractères de l'indice 6 inclus len(nom)+1 exclu
- print(nom[6:len(nom)+1])
- '''
- Dinateur
- '''
- # Extraction des caractères de l'indice 0 inclus à 8 exclu
- print(nom[0:8])
- '''
- Laure Di
- '''
- # Extraction des 5 premiers caractères (indices : 0 --> 4)
- print(nom[:5])
- '''
- Laure
- '''
- # Extraction de tout ce qui suit les 6 premiers caractères
- print(nom[6:])
- '''
- Dinateur
- '''
Concaténation
La concaténation consiste à coller les chaînes de caractères les unes à la suite des autres avec l’opérateur +.
- prenom = "Steve"
- nom = "Rogers"
- alias = prenom + " " + nom
- '''
- Steve Rogers
- '''
Test d’appartenance
L’opérateur logique in peut être utilisée pour vérifier si un élément donné fait
partie ou non d’une chaîne de caractères. Attention, cet opérateur est sensible à la casse (minuscule / majuscule)
- captain_america = "Steve Rogers"
- print("Rogers" in captain_america)
- '''
- True
- '''
- print("steve" in captain_america)
- '''
- False
- '''
- print("o" in captain_america)
- '''
- True
- '''
Quelques méthodes et fonctions
La méthode lower() renvoie une copie d’une chaîne avec toutes les lettres converties en minuscules.
- mot = "Bonjour"
- mot1 = mot.lower()
- print(mot1)
- '''
- bonjour
- '''
La méthode upper() renvoie une copie d’une chaîne avec toutes les lettres converties en majuscules.
- mot = "Bonjour"
- mot2 = mot.upper()
- print(mot2)
- '''
- BONJOUR
- '''
La méthode swapcase() renvoie une copie d’une chaîne dans laquelle les lettres minuscules sont converties en majuscules et les lettres en majuscules sont converties en minuscules.
- mot3 = "National Aeronautics and Space Administration"
- print(mot3)
- '''
- National Aeronautics and Space Administration
- '''
- mot4 = mot3.swapcase()
- print(mot4)
- '''
- nATIONAL aERONAUTICS AND sPACE aDMINISTRATION
- '''
La méthode title() renvoie une copie d’une chaîne avec la première lettre en majuscule dans chaque mot.
- mot5 = "national aeronautics and space administration"
- print(mot5)
- '''
- national aeronautics and space administration
- '''
- mot6 = mot5.title()
- print(mot6)
- '''
- National Aeronautics And Space Administration
- '''
La méthode replace(old, new) retourne une nouvelle chaîne qui remplace toutes les occurrences de la chaîne old par la chaîne new.
- supporter = "Mon joueur de foot préféré est Mbappé"
- print(supporter)
- '''
- Mon joueur de foot préféré est Mbappé
- '''
- supporter = supporter.replace("Mbappé","Griezmann")
- print(supporter)
- '''
- Mon joueur de foot préféré est Griezmann
- '''
La fonction input() et la méthode format()
La fonction input() permet de créer une fenêtre contextuelle dans laquelle un champ permet de récupérer la réponse de l’utilisateur sous la forme d’une chaîne de caractères. La méthode format() permet de remplacer dans une chaîne de caractères les accolades par les valeurs associées à certaines variables.
- prenom = input("Entrez votre prénom : ")
- '''
- John
- '''
- nom = input("Entrez votre nom : ")
- '''
- SNOW
- '''
- message = print("Bonjour {} {} !".format(prenom, nom))
- '''
- Bonjour John SNOW !
- '''
Transformer une chaîne de caractères en une liste
La méthode split() permet de transformer une chaîne de caractères comportant plusieurs sous-chaînes en une liste de sous chaînes. Le séparateur par défaut est l’espace séparant les sous-chaînes.
- titre = "Welcome to the jungle"
- liste_titre = titre.split()
- print(liste_titre)
- '''
- ['Welcome', 'to', 'the', 'jungle']
- '''
Il est également possible de préciser le séparateur entre les sous chaînes dans la méthode split().
- txt = "Hello, my name is Peter, I am 26 years old"
- liste_txt = txt.split(", ")
- print(liste_txt)
- '''
- ['Hello', 'my name is Peter', 'I am 26 years old']
- '''
Partager cette page