Passer au contenu principal
eLearner.app
Module 4 · Leçon 1 sur 413/36 dans le cours~12 min
Leçons du module (1/4)

Méthodes des chaînes

Les chaînes en Python sont immuables : chaque méthode qui les "modifie" en réalité renvoie une nouvelle chaîne, l'originale reste telle quelle.

Python
s = "Ciao"
s.upper()   # 'CIAO'   (nuova stringa)
s           # 'Ciao'   (originale invariata)

Pour "mettre à jour", assignez le résultat : s = s.upper().

Majuscules, minuscules, contrôle de casse

Python
"Ciao".upper()        # 'CIAO'
"CIAO".lower()        # 'ciao'
"ciao mondo".title()  # 'Ciao Mondo'
"ciao".capitalize()   # 'Ciao'
"CiAo".swapcase()     # 'cIaO'

Nettoyage : strip

Supprime les espaces (espaces, tabulations, sauts de ligne) aux extrémités.

Python
"  ciao  ".strip()       # 'ciao'
"  ciao  ".lstrip()      # 'ciao  '
"  ciao  ".rstrip()      # '  ciao'
"___ciao___".strip("_")  # 'ciao'   (argomento = caratteri da togliere)

Séparer et joindre : split / join

Python
"a,b,c".split(",")          # ['a', 'b', 'c']
"  ciao  mondo".split()     # ['ciao', 'mondo']   (split su whitespace, salta i vuoti)
",".join(["a", "b", "c"])  # 'a,b,c'

Idiome fondamental : "séparateur".join(liste_de_chaînes). Tous les éléments doivent être des chaînes, sinon un TypeError est levé.

Remplacement : replace

Python
"ciao mondo".replace("mondo", "Python")   # 'ciao Python'
"aaaa".replace("a", "b", 2)               # 'bbaa'   (max 2 sostituzioni)

Tests de contenu

Python
"image.png".endswith(".png")   # True
"http://".startswith("http")    # True
"ciao" in "ciao mondo"          # True   (operatore in)
"ciao mondo".find("mondo")      # 5      (-1 se non trovato)
"ciao mondo".count("o")         # 2

find renvoie -1 si la sous-chaîne n'est pas présente ; index lève à la place une exception ValueError.

Les chaînes sont immuables

En Python, les chaînes sont immuables : aucune méthode de chaîne ne modifie la chaîne d'origine ; à la place, elles renvoient toujours une nouvelle chaîne. Si vous écrivez s.upper(), la variable s reste inchangée. Pour enregistrer la modification, vous devez la réassigner : s = s.upper().

À vous de jouer

Exercice#python.m4.l1.e1
Tentatives : 0Chargement…

Étant donné `name = ' Ada Lovelace '`, calculez `cleaned` comme `name` sans espaces aux extrémités et tout en minuscules. Évaluez `cleaned`.

Chargement de l'éditeur…
Afficher l'indice

Enchaînez les méthodes : d'abord strip(), puis lower().

Solution disponible après 3 tentatives

Exercice de révision

Exercice#python.m4.l1.e2
Tentatives : 0Chargement…

Étant donné `csv = 'mela,pera,kiwi'`, obtenez la liste `fruits` en séparant sur la virgule, puis reconstruisez `slash_separated` en joignant avec ' / '. Évaluez `slash_separated`.

Chargement de l'éditeur…
Afficher l'indice

split sépare, join réassemble.

Solution disponible après 3 tentatives

Défi supplémentaire

Exercice#python.m4.l1.e3
Tentatives : 0Chargement…

Étant donné la chaîne `raw_text = " hello world "`, supprimez les espaces de début et de fin avec `.strip()` et convertissez le texte en majuscules. Stockez le résultat nettoyé dans `clean_text` et évaluez-le.

Chargement de l'éditeur…
Afficher l'indice

Combinez les appels dans une chaîne : raw_text.strip().upper().

Solution disponible après 3 tentatives