Pārlūkot izejas kodu

Section formatage de chaînes

Benoît Hubert 7 gadi atpakaļ
vecāks
revīzija
287d1438e0

+ 37 - 0
react-tuto/src/markdown/4. Bases de Python/02b. Formatage de chaînes.md

@@ -0,0 +1,37 @@
+Les exemples des deux sections précédentes montrent deux façons de "formater" des chaînes de caractères.
+
+Il est en effet fréquent de vouloir insérer des données dans une chaîne : nombres entiers, etc.
+
+Une approche possible serait de combiner les éléments à afficher via l'opérateur de concaténation `+` :
+
+```python
+print("Hello World, nous sommes en " + str(2018))
+```
+
+Mais tu peux déjà deviner que cette syntaxe serait lourde si on doit insérer de nombreuses variables.
+
+Voici une autre façon de faire :
+
+```python
+nom = "Nelson Mandela"
+jour_naissance = 18
+mois_naissance = "juillet"
+annee_naissance = 1918
+infos = "{:s} est né le {:d} {:s} {:d}".format(nom, jour_naissance, mois_naissance, annee_naissance)
+print(infos)
+```
+
+Dans la chaîne entre guillemets sur laquelle on applique `format()`, tu vois des éléments entre accolades comme `{:s}` et `{:d}`.
+`{:s}` définit un emplacement pour l'insertion d'une **chaîne de caractères**, et `{:d}` un emplacement pour l'insertion d'un **entier**. Le type des paramètres donnés à `format()` doit correspondre à celui des emplacements (ici, dans l'ordre, une chaîne, un entier, une chaîne, un entier).
+
+Reprenons l'exemple du point précédent "Fonctions" :
+
+```python
+jour = 1
+mois = 3
+annee = 2018
+date = "{:02d}/{:02d}/{:04d}".format(jour, mois, annee)
+print(date)  # affiche 01/03/2018
+```
+
+C'est le même principe, mais comme `jour` et `mois` sont susceptibles d'être inférieurs à 10, on utilise `{:02d}` au lieu de `{:d}`, ce qui signifie : afficher 2 caractères même si le nombre n'a qu'un chiffre (le 2 avant le d), et utiliser des 0 comme caractères supplémentaires (sinon des espaces seraient insérés à la place).