1. Définir une chaîne de caractère en Python
comme tous les autres langages de programmations, les chaînes de caractères en python sont des variables sous forme d'expressions entourées de guillemets simples ou de guillemets doubles. "CRMEF OUJDA" est identique à 'CRMEF OUJDA'.
Les chaînes de caractères peuvent être affichées à l'écran en utilisant la fonction d'impression:
1 |
print(nom_de_la_variable_chaine) |
Comme beaucoup d'autres langages de programmation populaires, les chaînes de caractères en Python sont des tableaux d'octets représentant des caractères Unicode. Cependant, Python ne possède pas de type de données caractère (char)comme char type en C, un seul caractère est simplement une chaîne de longueur 1. Les crochets peuvent être utilisés pour accéder aux éléments de la chaîne.
2. Longueur d'une chaine de caractères
La longueur d'une chaine de caractère est par définition le nombre de caractère qui composent la chaine. Pour obtenir la longueur d'une chaine de caractère, on utilise la méthode len()
Exemple: longueur de la chaine s = "CRMEF OUJDA"
1 2 |
s = "CRMEF OUJDA" print("La longueur de s est :", len(s)) # affiche La longueur de s est : 11 |
3. Accéder aux éléments d'une chaine de caractères
Pour accéder à un élément d'une chaine de caractère s, on utilise la syntaxe:
1 |
s[index_du_caractère] |
Exemple. Obtenir le premier et deuxième caractère de la chaine (rappelez-vous que le premier caractère se trouve à la position 0):
1 2 3 |
s = "CRMEF OUJDA" print("premier caractère de s est : ", s[0])# affiche : "premier caractère de s est C print("deuxième caractère de s est : ", s[1])# affiche :"deuxième caractère de s est R |
Exemple: affichage total des caractères d'une chaine à l'aide de la méthode len()
1 2 3 4 5 6 7 8 9 10 11 12 |
s = "Python" for i in range(0 , len(s)): print(s[i]) # affiche: """ P y t h o n """ |
Exemple: affichage total des caractères d'une chaine via la méthode d'itérateur
1 2 3 4 5 6 7 8 9 10 11 12 |
s = "Python" for x in s: print(x) # affiche: """ P y t h o n """ |
4. Opération sur les chaines de caractères
4.1 - Concaténation de deux chaines de caractères
Pour faire la concaténation de deux chaines de cractères, on utilise l'opérateur '+':
Exemple
1 2 3 4 5 |
s1 = "Learn " s2 = "Python" # concaténation de s1 et s2 s = s1 + s2 print(s) # affiche: 'Learn Python' |
4.2 Extraire une sous chaine de caractères
On extrait une sous chaîne de s depuis la ième position jusqu'à la jème non incluse en utilisant la syntaxe:
1 |
substring = string[i : j] |
Exemple
1 2 3 |
s = "Python" substring = s[2 : 5] print(substring) # affiche: 'tho' |
5. Les principales méthodes associées aux chaînes de caractères en Python
Le langage Python est doté d'un grand nombre de fonctions permettant la manipulation des chaînes de caractères: calcul de la longueur de la chaîne, transformation en majuscule et minuscule, extraire une sous chaîne...En voici une liste non exhaustive :
- capitalize() : Met en majuscule la première lettre de la chaîne
- casefold(): similaire à la méthode lower(), mais elle est plus agressive en ce qui concerne la normalisation des chaînes de caractères en minuscules.
- center(largeur, remplissage) : Retourne une chaîne complétée par des espaces avec la chaîne d'origine centrée sur le total des colonnes de largeur.
- count (str, beg = 0, end = len (chaîne)) : Compte le nombre de fois où str se produit dans une chaîne ou dans une sous-chaîne si le début de l'index beg et la fin de l'index end sont indiqués.
- decode(encodage = 'UTF-8', erreurs = 'strict') : Décode la chaîne en utilisant le codec enregistré pour le codage. Le codage par défaut correspond au codage de chaîne par défaut.
- encode(encoding = 'UTF-8', errors = 'strict') : Retourne la version encodée de la chaîne; en cas d'erreur, la valeur par défaut est de générer une valeur ValueError sauf si des erreurs sont indiquées avec "ignore" ou "remplace".
- endswith(suffixe, début = 0, fin = len(chaîne)) : Détermine si une chaîne ou une sous-chaîne de chaîne (si les index de début et de fin d'index de fin sont indiqués) se termine par un suffixe; renvoie vrai si oui et faux sinon.
- expandtabs(tabsize = 8) : Développe les onglets d'une chaîne en plusieurs espaces; La valeur par défaut est 8 espaces par onglet si tabsize n'est pas fourni.
- find(str, beg = 0 end = len (chaîne)) : Déterminer si str apparaît dans une chaîne ou dans une sous-chaîne de chaînes si l'index de début et l'index de fin sont spécifiés, et renvoie l'index où la sous chaine est trouvée et -1 dans le cas contraire.
- format(string s) : remplace les accolades par la variable string s (voir exemple ci-dessous : [String.format])
- index(str, beg = 0, end = len (chaîne)) : Identique à find(), mais déclenche une exception si str n'est pas trouvé.
- isalnum() : Retourne true si la chaîne a au moins 1 caractère et que tous les caractères sont alphanumériques et false sinon.
- isalpha() : Retourne vrai si la chaîne a au moins 1 caractère et que tous les caractères sont alphabétiques et faux sinon.
- isdigit() : Renvoie true si la chaîne ne contient que des chiffres et false sinon.
- islower() : Retourne true si la chaîne a au moins 1 caractère en casse et que tous les caractères en casse sont en minuscule et false sinon.
- isnumeric() : Renvoie true si une chaîne unicode contient uniquement des caractères numériques et false sinon.
- isspace() : Renvoie true si la chaîne ne contient que des caractères d'espacement et false sinon.
- istitle() : Retourne true si la chaîne est correctement "titlecased" et false sinon.
- isupper() : Renvoie true si string contient au moins un caractère et que tous les caractères sont en majuscule et false sinon.
- join(seq) : Fusionne (concatène) les représentations sous forme de chaîne d'éléments en séquence seq dans une chaîne, avec chaîne de séparation.
- len(chaîne) : Retourne la longueur de la chaîne
- ljust(largeur [, remplissage]) : Renvoie une chaîne complétée par des espaces avec la chaîne d'origine justifiée à gauche pour un total de colonnes de largeur.
- lower() : Convertit toutes les lettres majuscules d'une chaîne en minuscules.
- lstrip() : Supprime tous les espaces en début de chaîne.
- maketrans() : Renvoie une table de traduction à utiliser dans la fonction de traduction.
- max(str) : Renvoie le caractère alphabétique maximal de la chaîne str.
- min(str) : Renvoie le caractère alphabétique minimal de la chaîne str.
- replace(ancien, nouveau [, max]) : Remplace toutes les occurrences de old dans string par new ou au maximum max si max donné.
- rfind(str, beg = 0, end = len(chaîne)) : Identique à find(), mais recherche en arrière dans la variable string.
- rindex(str, beg = 0, end = len (chaîne)) : Identique à index(), mais recherche en arrière dans string.
- rjust(largeur, [, remplissage]) : Renvoie une chaîne complétée par des espaces avec la chaîne d'origine justifiée à droite, avec un total de colonnes de largeur.
- rstrip() : Supprime tous les espaces de fin de chaîne.
- split(str = "", num = string.count (str)) : Divise la chaîne en fonction du délimiteur str (espace si non fourni) et renvoie la liste des sous-chaînes; divisé en sous-chaînes au maximum, le cas échéant.
- splitlines() : Fractionne la chaîne de tous les NEWLINE (ou num) et renvoie une liste de chaque ligne sans les NEWLINE.
- startswith(str, beg = 0, end = len (chaîne)) : Détermine si string ou une sous-chaîne de chaîne (si les index de début et de fin d'index de fin sont indiqués) commence par la sous-chaîne str; renvoie vrai si oui et faux sinon.
- strip([chars]) : Effectue lstrip () et rstrip () sur chaîne.
- swapcase() : Inverse la casse de toutes les lettres d'une chaîne.
- title() : Retourne la version "titlecased" de la chaîne, c'est-à-dire que tous les mots commencent par une majuscule et le reste est en minuscule.
- translate(table, deletechars = "") : Traduit la chaîne en fonction de la table de traduction str (256 caractères), en supprimant celles de la chaîne del.
- upper() : Convertit les lettres minuscules d'une chaîne en majuscules.
- zfill(largeur) : Renvoie la chaîne d'origine laissée avec des zéros à un total de caractères de largeur; destiné aux nombres, zfill () conserve tout signe donné (moins un zéro).
- isdecimal() : Renvoie true si une chaîne unicode ne contient que des caractères décimaux et false sinon.
- s[i : j] : Extrait la sous chaîne de s depuis la ième position jusqu'à la jème non incluse
- s[ i : ] : Extrait la sous chaîne de s depuis la ième position jusqu'à la fin de la chaîne
- s[ : j ] : Extrait la sous chaîne de s depuis le début jusqu'à la jème position non incluse
6. Quiz
Comment peut-on définir une chaîne de caractères vide en Python ?
a) ' '
b) ''
c) None
d) "vide"
Comment concaténer deux chaînes de caractères en Python ?
a) Avec l'opérateur +.
b) Avec l'opérateur &
c) Avec l'opérateur |
d) Avec l'opérateur *
Quelle méthode Python est utilisée pour convertir une chaîne de caractères en majuscules ?
a) upper()
b) to_upper()
c) capitalize()
d) upper_case()
Comment peut-on extraire le premier caractère d'une chaîne de caractères en Python ?
a) string[0]
b) string.first()
c) string.extract(1)
d) string.start()
Quelle méthode Python peut être utilisée pour trouver la position d'une sous-chaîne dans une chaîne de caractères ?
a) find()
b) locate()
c) position()
d) search()
Comment peut-on inverser une chaîne de caractères en Python ?
a) reverse()
b) invert()
c) backwards()
d) [::-1]
Quelle méthode peut être utilisée pour remplacer toutes les occurrences d'une sous-chaîne par une autre dans une chaîne de caractères en Python ?
a) replace()
b) substitute()
c) switch()
d) modify()
Quelle méthode Python permet de diviser une chaîne de caractères en une liste de sous-chaînes en fonction d'un délimiteur ?
a) split()
b) divide()
c) break()
d) separate()
Comment peut-on supprimer les espaces blancs en début et en fin de chaîne d'une chaîne de caractères en Python ?
a) strip()
b) trim()
c) clean()
d) delete_space()
Exercice 1 : b) ''
Exercice 2 : a) len()
Exercice 3 : a) Avec l'opérateur +.
Exercice 4 : a) upper()
Exercice 5 : a) string[0]
Exercice 6 : a) find()
Exercice 7 : d) [::-1]
Exercice 8 : a) replace()
Exercice 9 : a) split()
Exercice 10: a) strip()
Younes Derfoufi
CRMEF OUJDA
-
Langage Python pour les Nuls, 3e éd - John Paul Mueller
€ 24,00 Acheter le livre -
Ouvrage de Référence Python : Exploration Approfondie du Langage Python
€ 42,00 Acheter le livre -
Routeur Tenda avec Carte SIM 4G09 AC1200 Bi- bandd 4G + Cat6 300Mbps, Connectivité Jusqu'à 64 Appareils
€ 89,00 Acheter le produit