Manipulations des types de données simples
Contenus de la section
2-1 Variables, constantes et types
c. Chaînes de caractères
2-2 Traitements de données
c. Manipulation de chaînes de caractères (formatage, extraction de sous-chaînes et concaténation)
Temps requis
25 minutes
Concaténation de chaînes
L'opération de concaténation permet de combiner des chaînes de caractères. On utilise l'opérateur d'addition ( + ) pour exprimer dans le langage Python l'idée de la concaténation. Attention, cela ne fonctionne qu'entre deux variables qui contiennent des chaînes de caractères.
Concaténation de deux chaînes | |
---|---|
On voit que le résultat BonjourAlice
n'est pas exactement conforme à nos attentes. Tous les caractères (espaces, retour à la ligne, tabulations) doivent être ajoutés manuellement à la chaîne de caractères pour s'afficher (et tous les caractères ajoutés s'affichent...).
Caractère d'espacement | Symbole |
---|---|
Espace | " " |
Tabulation | "\t" |
Retour à la ligne | "\n" |
Convertir un nombre en une chaîne de caractères
Section 1.2
Comme mentionné ci-dessus, on ne peut pas directement concaténer une chaîne et une valeur numérique. Par exemple, la ligne de code suivante provoque une erreur lors de son exécution.
Erreur
TypeError: can only concatenate str (not "int") to str
Pour régler cette erreur, il faut convertir la donnée numérique en une donnée de chaîne de caractères avec la fonction str
(la version raccourcie du terme anglais string, chaîne de caractères).
Arrondir les valeurs
Pour présenter une valeur décimale, il peut être intéressant d'arrondir à un certain nombre. La fonction str
fera afficher toutes les décimales. Deux autres fonctions existent pour gérer les arrondissements soit la fonction round
et la fonction format
.
La fonction round
La fonction round
permet d'arrondir une valeur à un certain nombre de décimales.
Paramètre | Type | Description |
---|---|---|
number | Entier ou nombre à virgule | La valeur à arrondir |
digits | Entier | Nombre de décimales à conserver après la virgule |
Retour | Entier ou nombre à virgule | Le nombre après l'arrondi |
Utilisation de l'arrondi | |
---|---|
De l'exemple on remarque que les 0 à droite ne sont pas conservés. L'avantage de la fonction round
est que la valeur reste numérique, donc on peut utiliser le résultat dans une autre expression arithmétique. Le désavantage est qu'il faut la convertir en chaîne de caractères pour l'afficher.
La fonction format
La fonction format
permet de formater une valeur en une chaîne de caractères, et ce, dans plusieurs contextes. L'un de ces contextes est les nombres à virgule. Dans ce cas d'utilisation, on appelle la fonction format
avec les deux paramètres décrits ci-dessous.
Paramètre | Type | Description |
---|---|---|
number | Entier ou nombre à virgule | La valeur à arrondir |
format | Chaîne de caractères | Chaîne indiquant le format à respecter |
Retour | Chaîne de caractères | Le nombre après le formatage |
Les formats prennent la forme suivante ".#A" où « # » représente le nombre de chiffres significatifs à conserver et « A » est le type formatage à utiliser. Attention, cette fonction effectue une troncature. Les types de formatage sont :
Lettre | Type de formatage | Exemple d'appel | Résultat |
---|---|---|---|
e | Notation scientifique avec un « e » minuscule | format(10.125, ".2e") |
1.01e+01 |
e | Notation scientifique avec un « E » majuscule | format(10.125, ".1E") |
1.0E+01 |
f | Nombre de décimales fixes | format(1.125, ".2f") |
1.12 |
g | Format général avec un nombre de chiffres significatifs | format(1.125, ".2g") |
1.1 |
Les f-strings
Les f-string sont une façon alternative de formater des données. Au lieu d'utiliser la fonction format
, on va indiquer directement dans la chaîne comment formater et intégrer les données. On différentie une f-string en ajoutant la lettre f
devant le guillemet ouvrant.
Dans un f-string, on inscrit les variables à afficher avec des accolades et, si un formatage est nécessaire, on indique le format après un deux-points « : ».
Utilisation de f-string | |
---|---|
Les fonctions sur les chaînes de caractères
Section 12.3
Les chaînes de caractères sont par définition immuables, donc on ne peut pas changer ses éléments directement après sa création. Pour modifier une chaîne existante, il faut appeler des fonctions sur les chaînes de caractères.
Fonctions sur les chaînes
La syntaxe pour appeler une fonction sur une chaîne diffère légèrement de celle d'une fonction standard. On prend la chaîne sur laquelle l'on souhaite appeler la fonction (ou la variable qui contient la chaîne) et on lui appose un point, puis on fait l'appel à la fonction.
La fonction s'exécute alors pour la chaîne sur laquelle elle est appelée.
Programmation objet
Cette syntaxe différente provient de la programmation-objet que nous aborderons plus tard au cours de la session. Elle n'est pas là simplement pour mélanger les programmeuses et programmeurs :P
Les fonctions upper
et lower
Ces deux fonctions convertissent une chaîne en lettres majuscules (pour `upper`) et en lettres minuscules (pour `lower`). Elles n'acceptent aucun argument et retournent la chaîne modifiée. L'opération est sans effet pour les chiffres et les symboles dans les chaînes.
texte = "Bonjour le monde!"
print(texte.upper()) # Affiche «BONJOUR LE MONDE!»
print(texte.lower()) # Affiche «bonjour le monde!»
La fonction count
pour compter les caractères
Cette fonction compte le nombre de sous-chaînes dans une chaîne. Elle accepte un paramètre, la sous-chaîne retournée.
Paramètre | Type | Description |
---|---|---|
sous-chaîne | Chaîne de caractères | Chaîne recherchée |
Retour | Entier | Le nombre de fois que la sous-chaîne a été trouvée |
Exemple d'utilisation de la fonction count | |
---|---|
Compter la longueur totale d'une chaîne avec len
Si l'on cherche à connaître la longueur totale, il faut utiliser la fonction len
. Elle calcule le nombre de caractères dans la chaîne, incluant les espaces et autres caractères blancs. Attention, il s'agit d'une fonction standard !
Paramètre | Type | Description |
---|---|---|
chaîne | Chaîne de caractères | La chaîne pour laquelle calculer la longueur |
Retour | Entier | Le nombre de caractères dans la chaîne |
Exemple d'utilisation de la fonction len | |
---|---|
Trouver une sous-chaîne dans une chaîne avec find
La fonction find
détermine si une sous-chaîne est contenue dans une chaîne et retourne la position de la première occurrence.
Paramètre | Type | Description |
---|---|---|
sous-chaîne | Chaîne de caractères | La sous-chaîne recherchée |
Retour | Entier | La position de la première occurrence ou -1 si la sous-chaîne n'est pas contenue dans la chaîne. |
Exemple d'utilisation de la fonction find | |
---|---|
Remplace une sous-chaîne par une autre avec replace
La fonction replace
permet de remplacer des valeurs par d'autres dans une chaîne de caractères.
Paramètre | Type | Description |
---|---|---|
recherche | Chaîne de caractères | La sous-chaîne recherchée. |
remplacement | Chaîne de caractères | La sous-chaîne à utiliser pour remplacer les valeurs. |
Retour | Chaîne de caractères | La chaîne de caractère après avoir effectué le remplacement. |
Exemple d'utilisation de la fonction replace | |
---|---|
Un premier programme
Demandez à une personne utilisatrice de saisir deux nombres entiers ou décimaux dans la console, multipliez ces nombres et affichez le produit obtenu, avec au plus deux décimales.
Solution
Exercices
Page 27 et suivantes
Recommandés : 1.7, 1.8, 1.11, 1.12, 1.17 Supplémentaires : 1.18, 1.21, 1.22