- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte personlive_helpToutes les questions
Aurelien Morganti
28 décembre 2022 - 28 décembre 2022 à 11:19
checkConversation résolue
2 réponses
problème format
dsl de vous embêtez, mais quand je fais une phrase sans le f-string, mais avec format, cela ne fonctionne pas
00:00:00 :Quand on souhaite insérer des informations à l'intérieur d'une chaîne de caractère,si vous utilisez la version 3.6 ou plus de Python, vous pouvez utiliser l'EF String.
00:00:08 :Malheureusement, en dessous de la version 3.6, cette façon de faire n'est pas disponibleet vous devez donc passer par une autre façon de faire,notamment la méthode FORMAT que je vais vous montrer dans cette vidéo.
00:00:19 :Vous verrez qu'il y a pas mal de similitudes entre l'EF String et la méthode FORMAT.C'est un peu plus agréable d'utiliser l'EF String,mais il y a quelques cas de figure dans lesquels la méthode FORMAT peut avoir un avantage.
00:00:31 :Cette méthode permet d'insérer des objets à l'intérieur d'emplacementsqui sont spécifiés dans la chaîne de caractère, là encore par des accolades.À l'intérieur de ces accolades, je vais indiquer,grâce à cette méthode FORMAT que je mets après ma chaîne de caractère,donc après les guillemets ici et que je relie par le point,
00:00:47 :je vais pouvoir indiquer que c'est cette variable h que je veux insérer à l'intérieur des accolades.Nous n'avons pas besoin de convertir la variable h en chaîne de caractère.
00:00:56 :Comme avec les EF String, la méthode FORMAT s'en charge pour nouset nous évite ainsi les erreurs de type.On peut également spécifier à l'intérieur de ces accolades un nomqu'on utilisera comme paramètre dans la méthode FORMAT pour obtenir une phrase encore plus claire.
00:01:10 :Par exemple ici, plutôt que d'avoir des accolades vides,je pourrais mettre a et mettre a égale à h.Alors il faut bien faire la distinction ici entre le nom que l'on met à l'intérieur des accoladeset la valeur que l'on passe à notre paramètre a ici.
00:01:23 :Par exemple si je mettais h ici pour que ce soit vraiment clairet qu'on ait une phrase qui veut dire un peu plus quelque chose,donc j'ai h en, et bien ce mot h ici, il faut bien le distinguer de ma variable h.
00:01:34 :Ici je pourrais mettre par exemple toto et ce toto correspond à toto ici dans le paramètre.Ensuite on a h ici qui dans ce cas-ci correspond à ma variable,donc au nombre 26, mais je pourrais très bien passer directement un nombre.
00:01:47 :Je pourrais mettre 50 ici et ça fonctionnerait de la même façon.Je ne suis pas obligé de passer une variable.Donc il faut bien comprendre ici que le nom qu'on a au début,et bien c'est le nom qui est à l'intérieur de notre chaîne de caractère dans les accolades.
00:01:58 :On peut également donc choisir de ne rien mettre à l'intérieur de ces accolades,et dans ce cas-ci on va y aller dans l'ordre.C'est-à-dire que si je mets d'autres accolades ici,donc je mets une virgule et une autre paire d'accolades,et bien là en l'état j'aurai une erreur puisque j'ai deux endroits
00:02:11 :dans lesquels je peux insérer des informations et je ne passe qu'un seul élément ici.Donc si j'ai deux paires d'accolades dans ma chaîne de caractère,il faut obligatoirement que je passe deux éléments à l'intérieur des parenthèses.
00:02:22 :Il y a une exception à cela, c'est si vous utilisez des indices.Donc ce que je peux faire avec ces accolades également,qui est très pratique, c'est de répéter certaines informations.
00:02:31 :Donc si par exemple je veux dire j'ai tant d'années,et ensuite dire que ces années font en sorte que je ne suis pas très vieux,donc je peux dire ce n'est pas très âgé, comme ceci.
00:02:41 :Et donc là en fait je vais pouvoir répéter une information.Donc si je reprends ma variable âge ici, je peux la passer une seule fois à l'intérieur des parenthèses,et si je ne veux pas avoir d'erreur, je peux mettre un indice ici,et dans ce cas-ci je vais mettre le même indice.
00:02:55 :Donc zéro dans les deux cas, et là je n'aurai pas d'erreur,et en fait à chaque fois on va utiliser le premier élément qui est passé à cette méthode format.
00:03:02 :Donc là dans ce cas-ci, l'âge.Donc vous pouvez comme ça réutiliser un élément qui est passé à cette méthode formatà plusieurs endroits de votre chaîne de caractère.
00:03:10 :Avec cet indice, on pourrait même inverser l'ordre dans lequel sont envoyés les éléments dans les parenthèses.Donc pour ça je vais prendre un autre exemple, celui-ci.
00:03:19 :Donc j'ai un prénom et une variable âge avec une chaîne de caractère et un nombre,et en l'état avec des accolades qui sont vides, et bien tout ça va être rentré dans l'ordre.
00:03:28 :C'est-à-dire que les premières accolades vont récupérer la première variable qui est passée,et les deuxièmes accolades vont récupérer la deuxième variable.Mais je pourrais intervertir cet ordre en indiquant des indices.
00:03:37 :Donc je pourrais dire 1, 0 ici.Et dans ce cas-ci, on aurait la variable prénom qui serait envoyée ici,puisqu'on a spécifié 0.Donc le 0 va récupérer le premier élément puisqu'on commence à 0 en python,et le 1 irait récupérer le deuxième élément.
00:03:53 :Donc dans ce cas-ci, on aurait une phrase qui dirait« Je m'appelle 26 et j'ai pierre en ».Donc ça ne sert pas à grand-chose, mais vous voyez qu'on peut inverser égalementl'ordre dans lequel sont insérées ces données dans ma chaîne de caractère.
00:04:04 :Et on peut également, comme je vous l'ai dit, réutiliser ces données,par exemple en mettant 2 x 0.Et là, à chaque fois, on aurait le prénom qui serait envoyé dans ces accolades.
00:04:13 :Donc ça, c'est pour spécifier un indice.On a vu qu'on pouvait également mettre un identifiant.Donc je peux mettre name par exemple ici.Et dans ce cas-là, je pourrais spécifier name égale la variable prénom.
00:04:23 :Donc là, c'est à vous de voir ce que vous préférez.Si vous préférez mettre uniquement des accolades vides pour gagner un peu de placeet après envoyer directement les valeurs,ou si vous souhaitez avoir quelque chose d'un peu plus explicite,pour qu'on ait une idée un peu plus précise quand on lit cette chaîne de caractère
00:04:37 :de ce qui va être inséré à l'intérieur des accolades.Donc pour résumer, voici les 3 façons de faire qu'on pourrait utiliseren fonction de la version de Python qu'on utiliseou de tout simplement vos préférences personnelles.
00:04:49 :Donc on a la première façon de faire avec l'opérateur plus.On a 3 variables ici, protocole, nom du site et extension,qui vont au final faire une URL.
00:04:57 :Donc là, j'ai mon URL et je vais additionner tout simplement avec le plusles différents morceaux.Donc on a le protocole https://,ensuite j'additionne avec un plus la chaîne de caractère www.
00:05:09 :Ensuite le nom du site,ensuite je remets un plus juste pour le point entre le nom du site et l'extension,et ensuite l'extension.Donc vous voyez qu'on a quelque chose d'assez morcelé.
00:05:17 :Heureusement ici on a uniquement des chaînes de caractèredonc on n'a pas besoin de faire de conversion,mais si jamais on avait un nombre à insérer à l'intérieur de cette structure,il faudrait penser à utiliser la fonction string pour convertir ce nombreen chaîne de caractère,puisqu'avec l'opérateur plus, on va avoir des erreurs de type
00:05:33 :si jamais on essaye d'additionner des éléments qui ne sont pas du même type.On a ensuite la méthode format,avec la première façon de faire est des accolades vides.
00:05:41 :Donc dans ce cas-ci, j'ai une accolade vide au début,ensuite www. une accolade vide, le point et encore une accolade vide.Je fais bien attention de passer 3 éléments ici,car j'ai 3 accolades ici.
00:05:52 :Là, je ne me suis pas embêté avec des indices,puisqu'on a vraiment les choses qui sont dans l'ordre,donc le protocole, le nom du site et l'extension.
00:05:58 :Et donc tous ces éléments vont être insérés respectivement à l'intérieurde cette accolade, cette accolade et cette accolade.Et on va se retrouver avec le nom du site au complet.
00:06:07 :Donc ça, c'est la façon la moins explicite.On a une façon un peu plus explicite, mais qui, vous le voyez,prend plus de place, mais qui a l'avantage d'être un peu plus lisible.
00:06:14 :Ici, directement en lisant la chaîne de caractère,on comprend qu'on commence par le protocole,qu'on a ensuite le domaine et pour finir l'extension.Et à la fin ici, vous voyez que j'ai passé le protocole,le domaine et l'extension.
00:06:26 :Et vous voyez que les noms ne correspondent pas forcément.On a domaine ici et je passe la variable nom du site.Et à la fin ici, je passe même directement une chaîne de caractèresans passer directement la variable extension.
00:06:37 :Donc vous voyez qu'ici, on peut passer ce qu'on veut,on peut passer des variables, on peut passer des objets directement.Et les noms à l'intérieur de la chaîne de caractère dans les accoladesn'ont pas besoin de correspondre au nom des variables que l'on passe.
00:06:48 :Ce que l'on voit ici avec domaine et nom du site,qui ne sont pas les mêmes noms, l'important, c'est de bien avoirle domaine ici, qui est égal au domaine.
00:06:54 :Et ensuite, on passe ce qu'on veut à ce nompour l'insérer dans la chaîne de caractère.Donc ça, c'est la deuxième façon de faire avec la méthode format.
00:07:01 :Et pour finir, on a donc la méthode qui est la mieuxpour tous les cas de figure, c'est si vous pouvez utiliser les fString.Donc là, on a à peu près la même chose qu'avec l'URLpour la méthode format.
00:07:12 :Sauf que cette fois-ci, on insère directement les variablesprotocole, nom du site et extension.Donc là, cette fois-ci, c'est bien les variables directement.Ce n'est pas un nom arbitraire comme on pouvait l'avoir ici.
00:07:21 :C'est vraiment les variables que l'on insère.Donc là, on a bien le nom du site qui est la variablenom du site qui est définie au début.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.