Académique Documents
Professionnel Documents
Culture Documents
Mehdi Mekkaoui
CPGE Tanger
Lycee Moulay Al Hassan
cpge.mekkaoui@gmail.com
22 février 2024
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Introduction
Définition 1
Une chaîne de caractères est un ensemble ordonné de caractères. Les caractères
peuvent être des lettres (majuscules ou minuscules), des chiffres, des signes de
ponctuation, des symboles ou même des caractères dit « spéciaux » sur lesquels nous
reviendrons plus tard dans ce chapitre.
1/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Exemple 1
Remarque 1
2/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Exemple 2
Il est aussi possible d’ecrire :
1 ch4 = " c ’ est une c h a n e correcte "
2 ch5 = ’ ceci aussi est une " bonne " c h a n e ’
3/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
concaténation
Définition 2
Les chaînes de caractères, en tant qu’ensemble ordonnés de caractères, ont beaucoup
de choses en commun avec les listes. Par exemple, on peut créer une nouvelle chaîne
de caractères en concaténant deux chaînes existantes avec l’opérateur + :
1 ch1 + ch2
1 ch1 * 3
4/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Remarque 2
Ceci affichera la chaine ch caractère par caractère , dans la première méthode on
utilise c pour parcourir sur les éléments , et dans l’autre méthode i parcours la chaine
par indices
5/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
voici quelques exemples d’accès aux caractère d’une chaine avec leurs indice
et d’opération slicing
1 ch1 [6]
2 # ’W ’
3 ch1 [ -2]
4 # ’d ’
5 ch1 [:5]
6 # ’ Hello ’
7 ch1 [8:10]
8 # ’ rl ’
9 ch1 [ -6:]
10 # ’ World ! ’
11 ch1 [1::2]
12 # ’ el ol ! ’
6/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Assignaient
Remarque 3
Attention , l’operation d’assigniment n’est pas directement disponible comme dans
les listes !
1 ch1 [6] = " w "
et
pour faire cette tache on peut faire :
1 ch1 = ch1 [:6] + " w " + ch1 [7:]
2 print ( ch1 )
3 # ’ Hello world ! ’
7/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Définition 3
Comme pour la plupart des objets Python, on peut tester si deux chaînes sont égales
avec l’opérateur ==. Deux chaînes sont égales si et seulement si elles contiennent
exactement les mêmes caractères, dans le même ordre (majuscules et minuscules
ont de l’importance)
8/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Définition 4
Contairement dans le cas de test d’inégalité on utilise l’opérateur != :
1 " Hello " != " World "
2 # True
3 chaine != " chaine "
4 # True
Nous verrons un peu plus tard dans ce cours qu’il est également possible
d’utiliser les opérateurs de comparaison <, <=, > et >= pour comparer deux
chaînes de caractères.
9/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Définition 5
Malgré la facilite de l’opérateur == et != , or il très complique ce qui passe en arrière
plan . Pour comparer deux chaînes il faut tester :
10/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Exemple 3
Par exemple, si l’on compare les deux chaînes (de même longueur) "Hello World !" et
"Hexafluorure", les deux premiers caractères sont identiques
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
12/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Opérateur in
Définition 6
Une autre question se pose fréquemment : est-ce qu’une chaîne de caractère ch1 «
contient » une chaîne de caractères ch2 ? C’est-à-dire, une sous-chaîne de ch1 est-elle
égale à ch2 ? Comme pour les listes, on peut utiliser le mot-clé in pour le savoir :
1 ch1 = " Hello World ! "
2 " World " in ch1
3 # True
4 " kangourou " in ch1
5 # False
6 " hello " in ch1
7 # False
13/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Définition 7
la première fonction importante est celle de conversion d’une variable vers une chaîne
str()
Exemple 4
1 str (42)
2 # ’42 ’
3 str ([ 1 , 2 ])
4 # ’[1 , 2] ’
5 str ( abs )
6 # ’< built - in function abs > ’
14/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
conversion inverse
Remarque 4
Pour convertir inversement ( d’une chaîne vers un autres type )
1 int ( " 42 " )
2 # 42
3 float ( " 42 " )
4 # 42.0
5 int ( " 3.14 " )
6 #3
15/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
format()
Définition 8
Parfois, on veut plus de liberté dans la fabrication d’une chaîne à partir d’éléments
qui n’en sont pas. Il existe en Python plusieurs mécanismes assez puissants (et
subséquemment parfois complexes) pour ce faire. L’un d’entre eux est basé sur la
fonction de mise en forme str.format(chaineFormat, ...) . Un exemple sera
beaucoup plus parlant :
Exemple 5
16/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
join()
Définition 9
la fonction str.join(sep, liste) . Elle prend en argument une chaîne sep et une liste
de chaînes liste et renvoie la concaténation de tous les éléments de liste, en glissant la
chaîne sep entre chacun. C’est beaucoup plus efficace que d’utiliser l’opérateur + s’il
y a plus de deux chaînes à concaténer (car dans le cas de l’opérateur +, on créerait
beaucoup de chaînes successives, une pour chaque concaténation).
Exemple 6
1 str . join ( " , " , [ " A " , " B " , " cde " ])
2 # ’A , B , cde ’
3 " , " . join ([ " A " , " B " , " cde " ])
4 # ’A , B , cde ’
5 str . join ( " " , [ " A " , " B " , " cde " ])
6 # ’ ABcde ’
7 " " . join ([ " A " , " B " , " cde " ])
8 # ’ ABcde ’
17/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
strip()
Définition 10
Citons enfin deux fonctions bien pratiques pour travailler avec des chaînes de
caractères. La première, str.strip , permet de retirer les caractères « non imprimables
» (espaces, tabulations, retours à la ligne, etc.) à chaque extrémité de la chaîne passée
en argument :
Exemple 7
18/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
split()
Définition 11
La seconde est la fonction str.split qui « découpe » une chaîne passée en argument
et retourne une liste de chaînes. Par défaut, le découpage se fait sur les espacements
(qui seront supprimés), mais on peut spécifier via un argument supplémentaire un
caractère qui servira de séparateur :
Exemple 8
19/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
fonction ord
Définition 12
Python dispose de deux fonctions permettant d’obtenir le code numérique (on parle «
point de code Unicode » d’un caractère dans la norme Unicode, et, inversement,
d’obtenir un caractère à base de son code numérique. Plutôt que de travailler avec des
codes binaires, on utilise l’entier (non signé) qui lui est associé. La fonction ord
permet donc de transformer un caractère 7 en un entier représentant sont point de
code Unicode :
Exemple 9
1 ord ( ’A ’)
2 # 65
3 ord ( ’a ’)
4 # 97
5 ord ( ’ ’)
6 # 233
7 ord ( " " )
8 # 244
9 chr (90)
10 # ’Z ’
20/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
fonction chr
Définition 13
La fonction réalisant l’opération de conversion inverse, transformant un entier en
caractère, est la fonction chr :
Exemple 10
1 chr (90)
2 # ’Z ’
3 chr (234)
4 #’ ’
21/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Définition 14
Le fait que l’on puisse associer de façon unique chaque caractère à un nombre fournit
un ordre total sur l’ensemble des caractères : lorsque l’on compare des caractères, on
compare en fait les points Unicode associés. Ainsi, on a
Exemple 11
1 ’a ’ < ’ ’
2 # True
3 ’a ’ < ’b ’
4 # True
5 ’Z ’ <= ’A ’
6 # False
7 ’2 ’ <= ’7 ’
8 # True
9 ’a ’ < ’B ’
10 # False
11 " grand " < " petit "
12 # True
22/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Exemple 12
23/25
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Chaînes de caractères
Introduction et déploiement Création chaînes Manipulation des chaines Fonctions prédéfinis pour les chiâmes codage des caractères Autres méthodes
Remarque 5
visitez : Méthodes listes . pour plus de méthodes
25/25
Chaînes de caractères