Bases & algorithmique · 6 mondes · 18 étapes
Python avancé
Le langage lui-même : texte, compréhensions, objets, erreurs, modules.
Progression
0 %
0/18 étapes terminées
Fondamental · 9 min de lecture
Chaînes et formats
Le texte est la matière première de tout programme
1Définition
Une chaîne est une séquence immuable de caractères. Toutes ses méthodes renvoient une nouvelle chaîne ; aucune ne modifie l'originale. Les tranches extraient par position, les f-strings composent l'affichage.
2Principes fondamentaux
01
Immuable veut dire immuable
nom.upper() sans affectation ne fait rien d'utile. Il faut nom = nom.upper().
02
Nettoyer avant de traiter
strip() sur toute donnée venue d'un fichier, d'un formulaire ou d'une API : les espaces invisibles sont la première cause de comparaisons qui échouent.
03
La borne de fin est exclue
texte[0:3] donne trois caractères. C'est la même convention que range, et c'est ce qui rend texte[:n] + texte[n:] égal au texte entier.
04
Formater plutôt que concaténer
f"Score : {points}" remplace "Score : " + str(points) : plus court, plus lisible, et sans conversion manuelle.
3Exemples pratiques
Découper une ligne de données
1ligne = " Codey ; 4200 ; YAOUNDE "2 3champs = [c.strip() for c in ligne.strip().lower().split(";")]4print(champs) # ['codey', '4200', 'yaounde']On nettoie la ligne, on découpe, puis on renettoie chaque champ : les espaces autour des séparateurs ne partent pas tout seuls.
Formats utiles
1prix = 1234.56782 3print(f"{prix:.2f}") # 1234.57 deux décimales4print(f"{prix:>12.2f}") # 1234.57 cadré à droite5print(f"{'nom':<8}|") # nom | cadré à gauche6print(f"{0.4237:.1%}") # 42.4% pourcentageCes quatre formats couvrent l'essentiel d'un tableau affiché en console ou d'un montant présenté à un humain.
4Erreurs courantes
Oublier l'affectation
À éviter
nom = "codey"nom.upper()print(nom) # codeyÀ faire
nom = nom.upper()Pourquoi : La méthode renvoie une copie. Sans affectation, le résultat est calculé puis jeté.
Comparer sans normaliser
À éviter
if saisie == "oui":À faire
if saisie.strip().lower() == "oui":Pourquoi : « Oui » et « oui » sont deux chaînes différentes. Toute comparaison de saisie exige une normalisation.
Concaténer un nombre
À éviter
print("Score : " + 40)À faire
print(f"Score : {40}")Pourquoi : TypeError. La f-string convertit d'elle-même, sans str().
5Subtilités à connaître
- ◆
split()sans argument découpe sur n'importe quelle succession d'espaces et ignore les espaces de tête et de queue — souvent exactement ce qu'on veut. - ◆
"".join(liste)est la bonne façon de recoller des morceaux : une addition dans une boucle recrée une chaîne à chaque tour. - ◆Les tranches ne lèvent jamais d'
IndexError:texte[5:99]renvoie ce qui existe. Un accès directtexte[99], si.
6Vérifie ta compréhension
Question 1/3
Score 0
Que vaut "PYTHON"[1:4] ?
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.