B1 · Episode 17 · 4:30

Python f-strings: Formatting Strings Made Easy

This episode explains Python's f-strings for string formatting, demonstrating how they simplify embedding variables into text compared to older methods like concatenation with '+' or manual str() conversion.

Source:jmbarbier / peertube.solidev.net · License:CC BY-SA 4.0

Transcript

  1. Alors on va compléter un tout petit peu le cours de Python sur des choses qu'on a

    So, we’ll add a little bit to the Python course on topics we’ve already seen,

  2. déjà vues, mais que pour un premier passage j'avais laissé de côté.

    but which I left out during the first pass.

  3. Donc la première chose qu'on va compléter,

    So the first thing we’ll cover is:

  4. donc on peut reprendre le cours de Python qu'on a,

    We can reopen the Python course we’ve already studied,

  5. et on va aller compléter des choses au niveau des chaînes de caractères.

    and then add some content in the strings section.

  6. Donc cours de Python, chaînes de caractères,

    Python course — strings section,

  7. et on va aller redescendre un petit peu, juste à la fin de chaînes de caractères.

    then scroll down a bit, just to the end of the strings section.

  8. On a très souvent à faire des opérations comme celle qui est là,

    We often need to perform operations like this one:

  9. c'est- à- dire de prendre une chaîne de caractères et puis de mettre un résultat ou

    that is, take a string and insert a result or a variable into it.

  10. une variable dedans.

    (referring to the operation mentioned above)

  11. Quand on avait les exercices,

    When doing exercises,

  12. on avait eu aussi affiché bonjour le nom de la personne, vous avez tel âge,

    we also printed things like ‘Hello, [name]’ or ‘You are [age] years old’,

  13. etc. Et ce qu'on a fait, c'était soit mettre tous les arguments à l'intérieur du

    and what we did was either pass all arguments directly into the print function,

  14. print comme ça, auquel cas il y a d'ailleurs un espace.

    in which case Python automatically adds a space between them.

  15. Vous remarquez que ici si je prends cette.

    Notice this line here:

  16. cette ligne là et que je mets pas d'espace à la fin du égal automatiquement il y a

    If I copy this line and don’t add a space after the equals sign,

  17. un espace qui est rajouté entre les deux il y a ici un espace entre les deux si on

    Python will automatically insert a space between them.

  18. veut éviter d'avoir à faire ça ou de faire des plus avec des str

    If we want to avoid this hassle—or avoid using plus signs to concatenate strings—

  19. De se compliquer avec les chaînes de caractères,

    and avoid overcomplicating string handling,

  20. il existe en Python en fait quelque chose de très pratique qu'on appelle les f-

    Python actually offers a very handy feature called f-strings.

  21. strings. Donc.

    So…

  22. À quoi ça ressemble?

    What does it look like?

  23. On va faire un exemple où on va faire sans f- string et avec f- string.

    Let’s do an example—first without f-strings, then with f-strings.

  24. Donc je rajoute une cellule.

    I’ll add a new code cell.

  25. Je l'appelle lesFString.

    I’ll name it ‘lesFString’.

  26. Et on va regarder un exemple, on a une variable qui s'appelle nom.

    Next, let’s look at an example: we have a variable called "nom".

  27. Alice. Et on a une variable qui s'appelle âge.

    Alice. And we have another variable called "âge".

  28. 25. Et ce que je veux, c'est afficher une phrase: " Bonjour Alice,

    25. What I want is to display this sentence: "Hello, Alice,

  29. vous avez 25 ans." Donc print,

    you are 25 years old." So we use the print function,

  30. comment est- ce qu'on l'a fait dans l'exo qu'on avait fait?

    how did we do it in the earlier exercise?

  31. La phrase: bonjour.

    The sentence is: Hello,

  32. virgule, nom, virgule,

    comma, the variable name, comma,

  33. vous avez. virgule âge virgule ans.

    you are, plus the variable "âge", plus "years old."

  34. Et là, on a bonjour Alice, vous avez 25 ans.

    And here, we get: Hello, Alice, you are 25 years old.

  35. Autre possibilité, on peut faire ça à l'intérieur d'une variable phrase.

    Another option is to store all this inside a variable called "phrase".

  36. Dans ce cas- là, ça va faire

    In that case, it becomes:

  37. bonjour. Plus non, plus

    Hello, plus the variable name, plus

  38. vous avez. Plus, alors là âge,

    you are, plus (note here) the variable "âge",

  39. on ne peut pas directement l'ajouter puisque c'est un entier,

    but we can’t add it directly since it’s an integer,

  40. donc str de âge.

    so we must convert it to a string using str().

  41. plus en. Et print phrase.

    plus "years old." Then print the "phrase" variable.

  42. Et là, vous voyez que ici, j'ai pas eu besoin de rajouter d'espace.

    You’ll notice here that I didn’t need to add extra spaces.

  43. Si je le fais comme ça, les espaces ne sont pas ajoutés.

    If I write it like this, spaces won’t be added automatically.

  44. Donc là, quand on additionne, on concatène,

    So here, the plus sign means string concatenation,

  45. on additionne les chaînes de caractères, les espaces sont pas ajoutés.

    i.e., adding strings together—spaces aren’t added automatically.

  46. Donc si j'en veux, il faut que je les mette moi- même.

    So if we need spaces, we must add them ourselves.

  47. C'est long, écrire bonjour, des plus, des ester, etc.

    It’s tedious: typing "Hello", plus signs, spaces, etc.

  48. Et c'est pour ça que le Python propose en fait.

    That’s why Python actually offers a better solution:

  49. Une solution: les f- strings.

    f-strings.

  50. Le principe, c'est vous allez écrire votre chaîne de caractères,

    The idea is: you write your string,

  51. donc alors soit dans le prime, soit dans phrase par exemple.

    for example, directly inside print, or assign it to the "phrase" variable.

  52. Et avant les guillemets, vous allez mettre un f.

    Before the quotation marks, you add an f.

  53. Donc f guillemets, ça marche avec les guillemets simples,

    So it’s f followed by quotation marks—it works with single quotes,

  54. ça marche avec les guillemets doubles,

    it works with double quotes,

  55. ça marche avec les triples guillemets simples,

    it works with triple single quotes,

  56. ça marche avec les triples guillemets doubles, ça marche dans tous les cas.

    and it works with triple double quotes—in all cases.

  57. Donc avant de créer votre chaîne de caractères, vous mettez un f.

    So before creating your string, you write an f.

  58. À partir de ce moment- là, le Python va savoir que c'est une chaîne un petit peu

    From that point on, Python knows this is

  59. spéciale, et il va interpréter dans cette chaîne tout ce qui.

    a slightly special string,

  60. est à l'intérieur d'accolades comme étant quelque chose à inclure à l'intérieur.

    and will interpret everything inside curly braces as something to be inserted.

  61. Donc là, bonjour, ça ne change pas.

    So here, “Bonjour” stays unchanged.

  62. Ensuite, une accolade.

    Then comes a pair of curly braces.

  63. nom, et là il va prendre la variable nom et remplacer par la représentation en

    Inside them, you write the variable name nom,

  64. chaîne de caractères de cette variable.

    and Python will replace it with the string representation of that variable.

  65. Vous avez et âge.

    Then you write “et âge” (and age).

  66. là, il n'y a pas besoin de faire le str,

    Here, there’s no need to call str(),

  67. il va le faire automatiquement quand il voit ces accolades et la variable à

    because as soon as Python sees the curly braces and the variable inside,

  68. l'intérieur. Donc là, ici, c'est

    it automatically converts it.

  69. beaucoup plus joli, on maîtrise parfaitement, il n'y a pas de plus,

    This approach is much cleaner and more elegant—and fully under your control:

  70. il n'y a pas de str à se poser.

    no concatenation (+), no manual str() calls.

  71. Pris une phrase.

    Let’s try a full sentence.