0% ont trouvé ce document utile (0 vote)
70 vues24 pages

ProgrammationPython7-Les Chaines

cours les chaines python ofppt

Transféré par

kbafadil
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
70 vues24 pages

ProgrammationPython7-Les Chaines

cours les chaines python ofppt

Transféré par

kbafadil
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ROYAUME DU MAROC

‫مكتب التكوين المهني وإنعاش الشغل‬


office de la formation professionnelle et de la promotion du travail

ISMONTIC TANGER

LES CHAINES DE CARACTÈRES

ADDARRAZI ILHAM

2021-2022
Les chaines de cacaotières: Définition
1. Définition
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 ».
Les chaines de caractères ("string" en anglais) sont des listes de caractères.
On parle de chainage car les caractères se suivent et chaque caractère a sa place,
comme les maillons d'une chaine. Il est ainsi possible de faire apparaitre
plusieurs fois le même caractère dans une chaine, afin de manipuler des phrases
par exemple.
C’est une structure de données correspondant à une suite de caractères. En
Python, ce sont des objets de type «string» délimités par des simples ou doubles
quotes.
Les chaines de cacaotières: Déclaration

En Python, on représente une chaîne de caractères en plaçant les caractères la


constituant entre une paire de guillemets ou une paire d’apostrophes :
 ch1 = "Hello World!"
 ch2 = 'Ceci est une chaîne de caractères‘
 type(ch1) #<type 'str'>

Il est également possible de déclarer une chaîne multiligne en l'encadrant avec


des triples " " ", ce qui donne :
monTexte="""Bonjour
... TDM 102
... Cours : Python
... Contenu: Chaine de caractère
... """
Manipulation des chaînes de caractères
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 + :

 ch1 = "Hello World!"


 ch2 = 'Ceci est une chaîne de caractères‘
 ch1+ch2 #'Hello World!Ceci est une chaîne de caractères‘

Ou bien créer une chaîne de caractères par répétition d’une autre chaîne de
caractères avec l’opérateur de multiplication *

 ch1 = "Hello World!«


 ch1*3 #'Hello World!Hello World!Hello World!'
Manipulation des chaînes de caractères
On peut également, comme une liste, déterminer la longueur d’une chaîne de
caractères avec la fonction len :
 ch1 = "Hello World!"
 len(ch1) #12

On peut, comme pour une liste, obtenir un caractère de la chaîne en précisant sa


position entre crochets :

 ch1 = "Hello World!’’


 ch1[6] #’W’
 ch1[-2] #’d’
On constate ici que, pour une chaîne également, le premier caractère se trouve à la
position d’indice 0. Un indice négatif permet, comme pour une liste, de désigner
un caractère en partant de la fin de la chaîne
Manipulation des chaînes de caractères
On peut également construire une sous-chaîne ou une chaîne regroupant certains
des caractères en utilisant un « slice » :
 ch1 = "Hello World!’’
 ch1[:5] #output : 'Hello‘
 ch1[8:10] #output :'rl'
 ch1[-6:] #output: 'World!‘
 ch1[1::2] #output : 'el ol!'
Au contraire des listes, qui peuvent contenir des objets de tous types, une chaîne
de caractères ne contient que des caractères ! Python n’a pas de type particulier
pour représenter un caractère unique, on utilise simplement une chaîne de
caractères de longueur égale à 1.
Manipulation des chaînes de caractères

Une autre différence, majeure, entre les listes et les chaînes de caractères est

qu’une chaîne de caractères n’est pas modifiable (on dit qu’elle est immutable) :

 ch1[6] = "w“ #TypeError: 'str' object does not support item assignment

Il faudra créer une nouvelle chaîne, en écrivant par exemple :

 ch1 = ch1[:6] + "w" + ch1[7:] #Output: 'Hello world


Égalité de chaînes
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).
Exemple:
ch1="Hello"
ch2="hello"
ch3="Hello"
print(ch1==ch2) #False
print(ch1==ch3) #True
print("Hello"==ch1) #True
L’opérateur != permet, comme pour d’autres objets, de tester si deux chaînes
sont différentes.
print(ch1!=ch2) #True
Conversion
Conversion d'une valeur numérique en chaîne de caractères
Une première chose qu'il est utile de savoir faire en pratique : convertir une
valeur numérique en chaîne de caractères.
Ceci est obligatoire lorsque l'on souhaite intégrer une valeur numérique dans
une chaîne passée en paramètre à une fonction. Exemple :
a=321
print ("valeur" + a) #affiche un erreur
On obtient un message d'erreur ! la chaîne est considérée logiquement
comme un type str mais la valeur numérique est considérée comme un int.
Pour résoudre ce problème, il faut simplement « caster », c'est à dire transformer
le int en str ce qui se fait en faisant : str(variable):

a=321
print ("valeur" + str(a))
ch1="Valeur"+str(a)
print(ch1)
Conversion
Conversion d'une chaîne de caractères en valeur numérique
Une autre situation que l'on rencontre souvent : extraire une valeur numérique à
partir d'une chaîne. Typiquement, on obtiendra une chaîne à partir d'une saisie
utilisateur ou bien une réception sur le port série ou le réseau. Exemple :
a="321"
a=a+3
print(a) #Affiche erreur
Cette fois, on retrouve le même message d'erreur que précédemment, mais ici
nous voulions le résultat opposé : réalisé une opération mathématique sur la
valeur a, défini ici comme une chaîne.
Il va falloir là encore « caster » la variable, c'est à dire la transformer dans un
type numérique, au choix int, long ou float, ce qui donne :
a="321"
a=int(a)+3
print(a) #affiche : 324
Parcours d'une séquence
 Avec for
Méthode 1:
chaine="Bonjour TDM102"
for i in range(len(chaine)):
print(f" le caractere numero {i} est : {chaine[i]}")

Exécution:
Parcours d'une séquence
 Avec for
Méthode 2:
chaine="Bonjour TDM102"
for element in chaine:
print(element)

Exécution:
Parcours d'une séquence
 Avec while:

chaine="Bonjour TDM102"
i=0
while(i<len(chaine)):
print(f"Le caractere numero {i} : {chaine[i]}")
i=i+1
Exécution:
Test de la composition d'une chaîne
Vérifier si tous les caractères d'une chaîne sont des chiffres
str.isdigit(): renvoie True si tous les caractères d'une chaîne donnée sont des chiffres.
Vérifier si tous les caractères d'une chaîne sont des alphabétiques
str.isalpha():renvoieTrue si tous les caractères d'une chaîne donnée sont
alphabétiques,
Vérifier si tous les caractères d'une chaîne sont des alphanumériques
str.isalnum(): renvoie True si tous les caractères sont alphanumériques et qu'il y a au
moins un caractère
Exemple:
ch1="102"
print(ch1.isdigit()) #True
print(ch1.isalpha()) #False
ch2="TDM"
print(ch2.isdigit()) #False
print(ch2.isalpha()) #True
ch3="TDM 102"
print(ch2.isdigit()) #False
print(ch2.isalpha()) #False
print(ch2.isalnum()) #True
La capitalisation d'une chaîne
1. Test de la capitalisation d'une chaîne
Vérifier si tous les caractères d'une chaîne sont en majuscule
str.isupper() est une méthode qui renvoie True si tous les caractères d'une chaîne
donnée sont en majuscule et False sinon.
Vérifier si tous les caractères d'une chaîne sont en minuscule
str.islower() est une méthode qui renvoie True si tous les caractères d'une chaîne
donnée sont en minuscule et False sinon.
Vérifier si une chaîne est un titre
str.istitle() retourne True si la chaîne donnée est un titre; c'est-à-dire que chaque mot
commence par un caractère majuscule suivi de caractères minuscule.
Exemple: ch3="tdm"
ch1="TDM" print(ch3.isupper()) #False
print(ch1.isupper()) #True print(ch3.islower()) #True
print(ch1.islower()) #False ch4="TDM102"
ch2="TdM" print(ch4.isupper()) #True
print(ch2.isupper()) #False print(ch4.islower()) #False
ch5="Tdm"
print(ch2.islower()) #False
print(ch5.istitle()) #True
La capitalisation d'une chaîne
2. Changer la capitalisation d’une chaine
Mettre en majuscule une chaine:
upper(): permet de mettre en majuscule une chaine de caractères.
Mettre en minuscule une chaine:
lower() permet de mettre en minuscule une chaine de caractères.
Exemple:
ch1="tdm"
ch2=ch1.upper()
print(ch2) #affiche TDM

ch1="TDM"
ch2=ch1.lower()
print(ch2) #affiche tdm

ch1="tDM"
ch2=ch1[0].upper()+ch2[1:3].lower()
print(ch2) #Tdm
Remplacer un segment d'une chaine
de caractères par une autre
Pour remplacer une chaîne de caractères par une autre, il faut utiliser la méthode
replace. La valeur de retour est la chaîne modifiée.
Exemple:

ch1="ofaat"
ch2=ch1.replace("a","p")
print("Avant ",ch1) #affiche : ofaat
print("Apres",ch2) #affiche :ofppt
ch1="Bonklur TDM102"
ch2=ch1.replace("kl","jo")
print("Avant ",ch1) #affiche : Bonklur TDM102
print("Apres",ch2) #affiche : Bonjour TDM102
Scinder une chaîne
Scinder une chaîne à l'aide d'un caractère de séparation: Une opération que l'on
peut être fréquemment amené à réaliser sur une chaîne : la « couper » en sous-
chaînes séparées par un séparateur précis. Par exemple, couper la chaîne « coucou,
salut, hello » en « coucou » « salut » et « hello ».
La fonction qui permet cela est la fonction split du type str : cette fonction reçoit en
paramètre le séparateur et renvoie un objet list contenant toutes les sous-chaînes
obtenues.
Exemple:
chaine="coucou,salut,hello"
mots=chaine.split(",")
print(mots) #['coucou', 'salut', 'hello']
Scinder une chaîne
Scinder une chaîne multi-lignes en lignes: Une opération très pratique est la
possibilité de scinder une chaîne multilignes en lignes individuelles, simplement à
l'aide de la fonction splitlines() de l'objet str.
Exemple:

chaine=""" Bonjour les amis.


... Comment allez-vous ?
... Moi je vais bien
... """
mots=chaine.splitlines()
print(mots) #[' Bonjour les amis.', '... Comment allez-vous ?', '... Moi je vais bien', '... ']
Autres méthodes
swapcase() : convertit toutes les majuscules en minuscules, et vice-versa :
chaine="BoNjOuR tDm102"
chaine2=chaine.swapcase()
print(chaine2) # bOnJoUr TdM102

find(sch) : cherche la position d’une sous-chaine sch dans la chaine :

chaine1="Bonjour TDM102"
chaine2="TDM"
print(chaine1.find(chaine2)) #8

count(sch) : compte le nombre de sous-chaines sch dans la chaine :

chaine1="Bonjour TDM102"
print(chaine1.count("o")) #2
Autres méthodes
strip() : enlevé les espaces éventuels au début et a la fin de la chaine :

chaine1=" Bonjour TDM102"


chaine2=chaine1.strip()
print(chaine2)
print(chaine1)

index(car) : retrouve l’indice (index) de la première occurrence du caractère car


dans la chaine :

chaine1="Bonjour TDM102"
print(chaine1.index("D")) #9
print(chaine1.index("2")) #13
Convertir une liste en string et vice versa
Transformer une liste en chaîne de caractère
La méthode join transforme une liste en chaine de caractères.

Exemple:

l = ["Bonjour" , "TDM 102", "Cours", "Python"]


chaine = ‘ '.join(l)
print(chaine) #Bonjour TDM 102 Cours Python
chaine=':'.join(l)
print(chaine) #Bonjour:TDM 102:Cours:Python
Convertir une liste en string et vice versa
Transformer une chaine en une liste
La méthode split() transforme une chaine de caractère en une liste.

Exemple:

chaine="Bonjour TDM 102"


l=chaine.split()
print(l) #['Bonjour', 'TDM', '102']
Exercice d’application

soit: listeAnimals = ['chien','chat','crocodile']

1. Afficher la longueur de chaque animal

2. Transformer cette liste en une chaine de caratere

Vous aimerez peut-être aussi