Session du 14 janvier 2025 à 21h00
TOSA & Certifications
Librairie Standard & Modules
Deviens membre Premium magic_button
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- check +100h de formations
- check +180 exercices de code
- check +100h de mentorats en rediffusion
- check 20 projets
- check Mentorats groupés hebdomadaires
- check Support individuel avec nos mentors
Session de mentorat TOSA
Les defaultdict ou comment ne pas perdre ses clés.
00:00:00 :Ok, allez, donc là ce soir je vais vous présenter assez rapidement le défaut dit,alors c'est pas une notion qui est hyper hyper complexe en soi, mais c'est vrai que souvent on aun petit peu de mal avec le défaut dit parce que c'est pas hyper clair en fait à quoi ça correspond,
00:00:23 :donc c'est vrai que souvent les gens ils ont un petit peu de mal avec ça. Donc je vais vousmontrer ça vite fait ce soir et puis après comme je vous disais si en tant qu'une oreille,si vous avez d'autres questions, faut pas hésiter. Comme d'hab, au long de la présentation,
00:00:36 :si jamais il y a quoi que ce soit, vous voulez poser une question ou autre, vous m'interrompezparce que bon, comme on l'expliquait déjà, beaucoup qui sont déjà passés, quand on vousfait la présentation en fait on n'a pas le visu sur l'écran, donc si vous nous posez des questions
00:00:49 :dans le chat ou autre, on va pas forcément les voir, donc n'hésitez pas à nous interrompre,donc à me dire, tiens Steph, attention, il y a ça, je comprends pas ou quoi, surtout pas hésiter,ok ? Ok. Allez hop, je vais vous basculer sur mon VSCode, voilà. Voilà,
00:01:18 :comme ça ça va être suffisamment visible pour vous. Alors, est-ce qu'il y en a beaucoup quiconnaissent le Défaut DIC déjà, qui sont intéressés à ça ? Oui. Oui. Déjà employés. Bon,
00:01:35 :le Défaut DIC, c'est une sous-classe du type dictionnaire, d'accord, qu'on retrouve dans lemodule collection. Alors, le module collection, petit spoiler, ça vaut le coup d'aller le regarder
00:01:47 :bien en détail, parce qu'Autoza, ils aiment bien le module collection. Ils ont des actions dans lemodule collection, je sais pas, mais ils aiment bien vous faire des exercices avec le modulecollection. Donc ça, c'est un petit module, il y a 2-3 trucs à connaître dedans qu'il faut pas
00:02:02 :trop mal maîtriser pour être tranquille. Le Défaut DIC, c'est quoi en fait ? C'est,vous allez pouvoir créer un Défaut DIC, ce qui va vous permettre, lorsqu'on utilise les dictionnaires,je pense que vous avez déjà dû rencontrer le cas, si vous recherchez dans une clé dans undictionnaire qui n'existe pas, soit ça vous renvoie à une erreur parce que vous avez recherché la clé
00:02:27 :dans ce sens, un peu comme ça. Et par exemple, voilà, vous faites comme ça, la clé n'existe pas,donc là, c'est Python qui va vous générer une erreur directement et le programme s'arrête. Il y a
00:03:00 :l'autre méthode que vous avez pu voir avec le dictionnaire, avec la méthode GET, d'accord,où vous allez mettre votre clé. Si elle existe, elle ne vous renvoie pas, sinon vous pouvez mettre
00:03:13 :NONE et vous allez du coup avoir soit le NONE, ou alors je sais pas si vous le saviez, on peutaussi mettre par exemple un petit string pour dire ce que ça va renvoyer si jamais on ne le trouvepas. Donc ça, tout ça, c'est pas mal pour gérer au niveau des dictionnaires, au niveau des clés.
00:03:37 :Alors bon, la méthode brute et barbare où on rentre la clé directe et c'est Python qui détectel'erreur, c'est quand même à éviter. Il vaut mieux passer par du GET si on sait qu'on va devoir
00:03:47 :travailler sur un dictionnaire, qu'on ne va pas forcément avoir la maîtrise totale des clésqui sont présentes ou pas dans le dictionnaire. Donc il vaut mieux utiliser le GET, comme ça,
00:03:58 :ça évite de générer une erreur et de faire couper le programme bêtement parce que la clé n'existepas et c'est peut-être un comportement qui peut être attendu dans le programme. Maintenant,
00:04:07 :là c'est bien, mais le problème c'est qu'à chaque fois que vous devez aller travailler sur une clédictionnaire, vous devez prévoir le cas, à chaque fois, est-ce que j'aurai ou pas la clé, donc jevais faire un GET, mettre la clé que je recherche et éventuellement prévoir une valeur si jamais
00:04:26 :c'est pas trouvé. Parce que là, par exemple, on marque la clé en clair parce que là on varechercher la clé, mais genre de choses qu'on pourrait faire, on peut avoir une clé sous laforme d'une variable. Donc on pourrait très bien imaginer que la clé c'est une variable et on va
00:04:53 :lui passer la variable. Donc à chaque fois, si on doit gérer à chaque recherche le cas, est-ce queje vais trouver ma clé ou pas trouver ma clé, qu'est-ce que je mets pour indiquer que je n'aipas trouvé ma clé. Vous voyez, on arrive très vite à des répétitions un peu lourdes. Le défaut
00:05:10 :dit qu'il va vous aider à régler un peu ça, on va supprimer tout ça, donc on va le chercher depuisle module collection directement. Alors comment ça fonctionne ? On va prendre son dictionnaire,
00:05:35 :on va reprendre mon dict, et on va y mettre directement défaut dict, et on va lui passer enparamètres ce qu'on veut. Donc là on va rester sur ce qu'on avait tout à l'heure, nous trouver.
00:05:56 :Voilà, et donc si je fais mon dict, on va rechercher une clé qui n'existera pas forcément.Voilà, là si je lance, qu'est-ce qui lui va pas ? Ah d'accord. Autant pour moi.
00:06:52 :Voilà, on va faire comme ça autrement, ça sera plus simple. Ça va marcher, voilà, il me renvoiezéro, d'accord ? Donc là j'ai défini, parce qu'en fait il faut que ça soit une fonction, là j'ai
00:07:15 :défini ce que je voulais, il me renvoie et il me renvoie zéro. Donc normalement si je fais ça,si je vais définir, hop, voilà, si je fais comme ça, ça peut le faire, hop, voilà, et que la placeje mets, ça, ça devrait me coucher ce coup-ci, voilà, vous voyez, il me renvoie bien ce que j'avais
00:07:55 :défini dans ma fonction, d'accord ? Donc là vous voyez on peut marquer avec des ints, les str, jesais pas si ça va marcher, on va tester, il me renvoie un caractère blanc si je mets str, doncvoyez, vous pouvez définir une fonction qui va vous dire ce que vous allez retrouver quand vous allez
00:08:13 :essayer de rechercher une clé dans un dictionnaire et que cette clé n'existe pas, d'accord ? Bon,là juste utilisé comme ça, vous allez me dire, c'est bien, j'ai fait mon décodique, j'ai définice qui se passait si jamais je trouve pas, mais comment est-ce que je mets, comment je le lis
00:08:32 :concrètement à un dictionnaire qui lui contient les valeurs, d'accord ? Est-ce que c'est bon pourtout le monde jusque-là ? Oui, oui. Alors, pour utiliser le défaut DIC et avoir ce comportement,
00:08:47 :on va devoir un petit peu créer le dictionnaire de manière un petit peu différente de ce qu'onfait habituellement, d'accord ? Pas très différente, mais vous allez voir. Là, si je voulais rajouter
00:09:01 :des valeurs dans mon dictionnaire, je peux le faire à la main comme ça, ok ? Je peux mettremon DIC, je rajoute une clé, alors on va l'appeler, on va rester très original, égal, bonjour,on fait simple. Et là, ce coup-ci, si j'imprime, si je lance ma clé, mon programme, il me rend bien
00:09:30 :la valeur de ma clé, bonjour. Je vais nettoyer un petit peu. Voilà, ce serait mieux comme ça.Vous voyez, il me rend bien bonjour. Par contre, si je mets k2, ça sera très bien, peu importe. Là,
00:09:50 :il me rend bien le caractère vide, puisque j'ai mis str ici, parce qu'il n'a pas trouvé la clé,d'accord ? Donc, après, je pense qu'on doit pouvoir ajouter des valeurs dans le dictionnaire
00:10:08 :comme ça. En fait, vous allez devoir recréer les clés à chaque fois, d'accord ? Vous ne pouvezpas faire normalement le DIC, si vous faites ça, j'ai un peu un manque d'inspiration, désolé.
00:10:29 :Hop, voilà, si on crée un dictionnaire de cette manière-là, je ne sais pas si vous avez déjà vu ça.Clé, et si je relance, voilà, là, vous voyez, du coup, ça me génère une erreur. Est-ce que
00:10:55 :vous comprenez la petite nuance qu'il y a ? À partir du moment où vous avez créé votre dictionnaireavec la fonction défaut DIC, vous devez rentrer les clés comme ça, d'accord ? Vous ne pouvez pas
00:11:10 :rentrer toutes les valeurs à la suite comme ça. Il y avait une question ? Non ? Je continue. Donc,par exemple, on va rester sur mon dictionnaire-là. On va rester sur ma petite fonction non trouvée
00:11:34 :qui était pas mal, voilà. Alors, un exemple pour rentrer les données dans le dictionnaire,dans ce genre de cas, je vais mettre, par exemple, ça peut vous aider, par exemple, je vais vousmontrer pour faire des calculs d'occurrence, par exemple. Alors, on va prendre des fruits.
00:11:59 :Qu'est-ce que je vois ? Voilà. Allez, hop, on va rester sur les vieux classiques. Ok. Ok,allez, on va copier ça une paire de fois. Je supprime les cerises. Et hop, quelqu'un me
00:12:32 :rejoint. Voilà. Et on va supprimer les bananes, parce que j'aime pas les bananes. Voilà. Donc,là, par exemple, si je voulais créer un dictionnaire dans lequel j'ai toutes mes valeurs,voilà, et que je voulais avoir le compte de mes valeurs, je vais créer mon dictionnaire comme ça.
00:13:07 :Hop.Ok.Tic, tic, tic, tic, tic, tic.Je ne vais même pas me le prendre.Si il ne va pas.J'ai bien créé le...Ah !
00:13:48 :Je pense que c'est ça qui doit l'embêter.Ah ah !Voilà.On va faire comme ça.On va faire plus simple.Tu veux faire un compteur en fait ?
00:14:06 :Voilà.Non mais c'est à cause de ma fonction qui pose des problèmes.Voilà.Donc.Si je fais comme ça.Je vais imprimer mon dictionnaire pour commencer.
00:14:22 :Voilà.Donc là vous allez voir.Mon dictionnaire a été créé.D'accord ?Mais vous voyez bien qu'on a une forme de dictionnaire.Mais en fin de compte.
00:14:37 :C'est pas réellement défaudible et pas réellement un dictionnaire en soi.C'est vraiment un type d'objet à part.C'est ça que je voulais vous montrer en fait.
00:14:44 :D'accord ?C'est un conteneur.Vous allez avoir.Vous voyez donc ici.Une classe int.Ça c'est pour le rapport au fait qu'on a désigné ici.
00:14:57 :Que le défaut dict.Par défaut il renvoie un int.D'accord ?Et ici.Vous avez le dictionnaire en soi.Donc c'est vraiment un conteneur qui contient un dictionnaire.
00:15:08 :Ok ?Si vous voulez afficher juste le dictionnaire.Vous utilisez le dict.Comme on ferait pour transformer.Et là vous avez le dictionnaire qui est extrait directement.
00:15:26 :D'accord ?Ah oui ok.Voilà.Et normalement si je fais ça.Si je ne dis pas de bêtises.Il va bien pourtant être capable de me ressortir les clés du dictionnaire.
00:15:54 :Ok ?Donc le défaut dict.C'est ça qui est souvent un petit peu embêtant à comprendre.C'est que c'est un dictionnaire mais c'est une classe à part.
00:16:05 :C'est pas un objet de type dictionnaire.D'accord ?C'est un conteneur qui a un dictionnaire et un système pour retourner une valeur.Si jamais la clé qui est demandée dans le dictionnaire n'est pas bonne.
00:16:21 :D'accord ?Mais il a malgré tout le comportement d'un dictionnaire.Ouais c'est un dictionnaire bodybuilder en fait.Voilà.Mais...Et là du coup on peut itérer aussi dans ta boucle forte juste avant là.
00:16:46 :On peut ressortir le...On pourrait écrire qu'est virgule value.Ça marcherait ?Exactement ça va marcher.Puisque...Ah oui.Je ne l'ai pas ça forcément.
00:17:08 :Voilà.D'accord il faut les préciser.Ok d'accord.Voilà.Il va se comporter comme un dictionnaire.D'accord ?Oui.Ok.Maintenant c'est pour ça que je vous ai montré ça tout à l'heure.
00:17:26 :Si je fais ça.Voilà.Il va me reconnaître quand même comme une instance de dictionnaire.C'est vicieux ça.Ah oui c'est très vicieux.Ah oui.
00:18:20 :Vous l'avez vu plus tôt.C'est une surcharge en fait.C'est une surcharge.Voilà.C'est une sous-classe de dictionnaire.Hop là.Mais si on le print directement vous voyez.
00:18:41 :Il me renvoie bien un défaut dict.Il ne me renvoie pas un dictionnaire en tant que tel.D'accord ?Donc ça c'est le genre de petite surprise que vous pourriez vous faire avoir.
00:18:53 :Vous allez imprimer, vouloir vérifier que c'est quoi comme type d'objet que vous avez.Vous dire ah bah ouais il me renvoie un défaut dict mais je vous l'indique.
00:19:06 :Je ne comprends pas mais pourtant quand j'essaie de manipuler ce qu'on porte comme un dictionnairemais ce n'est pas un dictionnaire.Il faut bien avoir cette petite nuance en tête.
00:19:14 :En fait c'est un dictionnaire avec le get intégré.Si on pouvait le définir comme ça en fait.D'accord ?Oui oui.C'est beaucoup plus évolué parce qu'au lieu d'avoir un message par défaut on passe carrément dans une fonction.
00:19:32 :Donc on peut imaginer avoir du traitement dans la fonction.Si je fais ça, vous voyez, il va continuer.Si j'imprime le type, il ne me renvoie pas un type dictionnaire.
00:19:50 :Vous voyez on est bien sur un objet de collection défaut dict.Ok.Alors pour les plus proches de ma génération, je ne sais pas si les autres ça leur parlera, c'est un dictionnaire Canada Dry.
00:20:06 :Ah bon ?Voilà.Là vous allez, pour ceux qui ont la référence vous allez retenir tout de suite la différence qui est entre un défaut dict et un dict.
00:20:20 :Ça ressemble à un dictionnaire, ça a le goût d'un dictionnaire, mais ce n'est pas un dictionnaire.Voilà.Excellent.Donc voilà.Après bon, les applications comme je vous ai dit, l'application principale que vous allez retrouver dans le défaut dict,c'est quand vous devez manipuler du dictionnaire et que vous ne savez pas,
00:20:44 :à quoi vous allez avoir à faire ou si vous ne maîtrisez pas bien les clés qui composent le dictionnaire et ainsi de suite,le mieux justement c'est de passer par un défaut dict.
00:20:52 :Ça permet de non seulement traiter les clés qui sont absentes,pas passer son temps à remplir du get et préciser, soit avoir du non qui sort de tous les côtés,ou avoir une clé pour détecter qu'on a bien utilisé le dictionnaire.
00:21:07 :Voilà quoi.Il s'adapte vraiment à toutes les situations et là vous allez pouvoir manipuler le dictionnaireet éviter que vous ayez des erreurs qui ressortent et surtout que ce soit des erreurs qui interrompent le programme.
00:21:19 :Ça c'est une notion qui est assez importante à prendre en compte lorsque vous faites un petit peu de démonstration.C'est-à-dire que vous faites un petit démonstration, vous faites un petit démonstration,vous faites un petit démonstration, vous faites un petit démonstration,ça c'est important à prendre en compte lorsque vous commencez à faire du dev en mode un peu plus sérieux.
00:21:41 :Typiquement dans les exercices qu'on vous propose sur docstring,c'est l'idée qu'il y a derrière la calculatrice avec la gestion des erreurs.Je ne sais pas pour ceux qui l'ont déjà fait.
00:21:52 :L'idée c'est vraiment d'être mesure de prendre en compte son scriptet d'imaginer les erreurs qui pourraient arriver,donc les erreurs qu'il y a entre la chaise et le clavier là,ces erreurs récurrentes qui vont mal manipuler votre script et qui vont générer une erreur.
00:22:16 :Alors d'avoir Python qui renvoie l'erreur directement, ce n'est pas très propre.C'est quand même toujours mieux quand vous l'avez anticipé et que vous avez géré le comportement adopté.
00:22:26 :Imaginez si Windows, certains vont me dire que c'est un peu le cas,mais si à chaque fois que vous rentriez une commande, Windows se mettait en shutdown,ça n'aurait quand même pas top.
00:22:40 :Je ne sais pas si vous imaginez un petit peu le truc.Là quand vous faites du dev, il faut essayer de faire en sorte d'imaginer toutes les erreurs possibles qui pourraient être faites.
00:22:51 :Et là le défaut dit qu'il répond bien à cette problématique justement pour la gestion des dictionnaires.Vous allez pouvoir vraiment définir le comportement.Donc quand on lui met par défaut, si j'ai bien compris, dans l'exemple on a mis un mint,ça veut dire que la valeur par défaut finalement ça va être 0.
00:23:12 :Voilà.Si on met un float, ça va être 0.0, je suppose.Non, je suppose aussi, après ça va être utilisé comme ça.Si on met une liste avec une liste vide, c'est l'objet vide.
00:23:26 :Oui c'est un float, il va compter en float.D'accord.Alors est-ce que j'ai un, non je n'ai pas un get key, on va le faire vite fait.
00:23:34 :C'est l'objet vide de ce qu'on lui donne finalement.Voilà.La valeur par défaut.On va faire ça comme ça.Le mieux c'est quand même toujours.
00:23:45 :Mais ça peut être le résultat d'un calcul en fait aussi.En fait c'est un callable.Donc ça veut dire qu'en fait on va pouvoir mettre toute forme de fonction.
00:23:57 :Parce que bon, c'est vrai qu'on a un peu tendance à voir ça comme ça.Int string str et tout ça, on a un peu tendance à le voir comme des valeurs hautes.
00:24:10 :Mais en fait c'est des fonctions derrière.D'accord.Donc ce qu'on appelle un objet appelable.Une fonction.Et là vous avez vu tout à l'heure, alors bon avec mon exemple de, hop on va faire ça.
00:24:23 :On va le faire autrement.Normalement si je fais comme ça, il devrait réaccepter ma fonction.Hop.Parce qu'en fait il faut que votre callable soit du même type que ce que vous allez avoir comme valeur.
00:24:44 :Voilà.Voilà.Là vous voyez, il me renvoie bien ma fonction non trouvée.Ok.Par contre si je mettais ça, logiquement.Voilà.À partir du moment où j'ai...
00:25:21 :Mais là vous voyez il commence déjà plus trop à l'accepter.Il va fonctionner quand même mais ça commence déjà à générer des petits bugs.J'aurais une petite question.
00:25:31 :Donc en fait quand tu fais appel à la clé qui s'appelle K et qui n'existe pas, du coup ça déclenche l'exécution de la fonction.Ok.
00:25:46 :Voilà.Qui est définie.Et passe en paramètre à défaut de K.Voilà.Alors est-ce que la fonction qui est appelée, elle peut avoir connaissance de la clé qui a généré son appel ?
00:26:04 :Non.Parce qu'en fait ce qui va se passer, c'est que...Voilà, je vais vous le résumer comme ça, ce sera plus clair.On va un petit peu oublier tout ce qu'on a fait.
00:26:20 :Le mot ça revient dire la clé entre guillemets K n'existe pas.Voilà.Dans le return en fait on ferait une string avec la clé qui a posé problème.
00:26:38 :Voilà par exemple.Alors je vais te montrer pourquoi tu ne vas pas te renvoyer la clé.D'accord.C'est comme si on faisait ça en fait.
00:26:47 :C'est comme ça.Oui là tu le fais à la main.Voilà je le fais à la main.Tu le fais sans le module des footics.
00:27:01 :Voilà.Voilà.Alors je vais commenter ça parce que sinon il va m'embêter.Ouais ouais.Hop, mince.D'accord.Voilà.Voilà.Hop.Voilà.Ça revient un petit peu près à ça en fait.
00:27:39 :Oui.C'est à dire qu'en fait avec des footics il va essayer de voir s'il peut récupérer la clé correspondante dans mon dic.Il va rattraper l'erreur.
00:27:52 :Et comme il va détecter une erreur du coup il va exécuter la fonction.Et donc là bon je remets comme j'avais mis tout à l'heure.
00:28:03 :Vous renvoyez le non trouvé.En fait c'est comme si à chaque fois que vous alliez chercher une clé avec des footics,c'est comme si à chaque fois vous remplissiez cette logique là.
00:28:18 :Vous faisiez un try except à chaque fois.D'accord.Il essaye de récupérer la clé.Il peut, il la renvoie, il la trouve pas.Et bien tout simplement il va vous renvoyer ce qui est prévu dans l'exception.
00:28:35 :Ou lever l'erreur si jamais c'était prévu.Mais là dans le cas présent avec des footics il va vous renvoyer une valeur.Et si on fait un except, en fait l'interception là de l'exception elle est complètement globaleparce qu'on précise pas quelle est l'exception.
00:28:51 :Donc si on fait un except as E par exemple, et qu'on encapsule E dans le live string non trouvé, ça marcherait pas ça ?Pas à ma connaissance.
00:29:07 :En tout cas j'ai jamais utilisé le défaut d'E de cette manière là.D'accord.Généralement on va faire soit une petite fonction comme ça rapide,parce qu'on a besoin d'avoir un retour particulier.
00:29:21 :Soit on va mettre le int, le str pour gérer le problème.Et voilà.Donc par exemple, là ce qui pourrait être intéressant, je vais vous refaire comme ça.
00:29:39 :Alors je vais supprimer ça.Pour essayer de vous montrer un cas d'usage un peu plus concret.Je vais revenir sur mon histoire de int.Voilà.
00:29:53 :On va faire comme ça directement.Il va nous le renvoyer plusieurs fois, c'est pas grave.Alors si je faisais par exemple ça.Imaginons on a une liste de clés.
00:30:06 :On va être un peu cohérent quand même.Voilà.On a une liste de clés, on veut savoir si ces clés sont présentes dans le dictionnaire ou pas.
00:30:15 :On peut imaginer très aisément que par exemple vous avez exécuté une fonctionqui a été récupérée des informations, qui les a rangées dans certaines clés.
00:30:24 :Mais vous voulez savoir si effectivement le résultat, il a bien au moins certains clés que vous attendez.Pour être sûr que le package est cohérent.
00:30:32 :Donc on va faire ça.Vous allez faire par exemple...If...Tac, tac, tac, tac, tac...Mondic.Hop.Thème.Voilà.Séran.Zéro.Voilà.Hop.Voilà.C'est très très simple.
00:31:12 :Non.Voilà.Ce qui va me ramener à renvoyer que les items que j'ai visés sont bien absents.Parce qu'en fait comme j'ai mis un int, je sais que je vais avoir un retour de zéro si jamais je n'ai pas la clé.
00:31:33 :Et là du coup je peux travailler avec une valeur zéro.Et c'est toujours plus simple de travailler avec des valeurs zéro comme ça.Parce qu'on peut travailler sur des comparaisons avec les non et ainsi de suite,mais on rentre dans du is, is not et c'est pas toujours super évident et super clair à comprendre.
00:31:48 :Là, quand on reprend le code, égal égal zéro, c'est clair comme de l'eau de roche.Alors, on n'aurait pas pu mettre if not et supprimer le égal égal zéro ?
00:32:06 :Ça aurait marché ça ?Euh...Tac, tac, tac, tac...Alors étant donné que zéro c'est un false, oui ça aurait marché.Non.Ils bêtisent.Zéro est un false, d'accord ?
00:32:20 :Oui.Donc, if not, yes, normalement ça passe.C'est pas mes grands copains les boulets, hein.J'ai toujours obligé de réfléchir un peu avec.Voilà.Ouais ça passe, ok.
00:32:35 :Donc vous voyez après ça peut dériver sur beaucoup de logique derrière quoi.Alors c'est sûr que le défaut dit que présenter comme ça en dehors de tout contexte ça paraît très abstrait.
00:32:46 :C'est assez compliqué de s'approprier la notion quoi.Maintenant vous voyez, vous avez connaissance que ça existe, n'hésitez pas de temps en temps dans vos scripts à l'utiliser.
00:32:55 :Je reviens toujours sur mon même credo.Vous voyez, que ce soit avec Gab, moi ou n'importe qui d'autre, une notion.N'hésitez pas dans les jours qui suivent à la triturer, à essayer de faire tous les tests que vous pouvez imaginer.
00:33:09 :Certains sont allés chercher les quarts neufs pour les tabulations par rapport à la dernière fois.Ça a marché, t'as vu ?Voilà, mais c'est très bien, c'est très bien, c'est ce qu'il faut que vous fassiez en fait.
00:33:23 :Et pour en revenir par rapport à ce qu'on discutait avant de débuter sur le TOSA, c'est ça qui va vous aider en fait.Parce que plus vous allez prendre des notions et les triturer,et plus ça va être quasiment évident pour vous à chaque question du TOSA.
00:33:39 :Parce que vous avez vraiment testé la fonction ou la notion en question jusqu'au bout,et vous savez comment elle va réagir.Vous êtes déjà dans le truc.
00:33:50 :Je pratique, je fais des mémos en même temps là.Ça prend un temps dingue de faire les mémos,mais oui, ça fait aussi un temps dingue pour faire les tests et puis aller jusqu'au bout.
00:34:06 :C'est super chronovore.Ah oui, mais après c'est beaucoup de temps.Mais maintenant, tout ce que vous allez perdre, entre guillemets,encore que ce n'est pas du temps perdu,mais tout ce que vous allez perdre comme temps maintenant,c'est de la tranquillité et du temps de gagner le jour J quand en fait.
00:34:28 :Oui.Parce que les questions, on retourne plus ou moins toujours sur les mêmes thèmes.Il y a toujours plus ou moins les mêmes notions qui reviennent.
00:34:39 :Il y en a certaines qu'ils aiment bien.Le module collection, comme je vous disais tout à l'heure, il l'aime beaucoup.J'ai vu tout à l'heure, c'est Simon qui a posté les questions qu'il a eues sur le test d'évaluation.
00:34:53 :Donc pour ceux qui ont accès au canal Toza, n'hésitez pas à aller voir.Pour voir un petit peu ce qu'il a eues comme questions.Mais vous voyez, on retrouve les regex.
00:35:09 :J'ai vu qu'il avait eu les notions de temps d'exécution O1, ON.Je ne sais pas si vous avez déjà eu l'occasion de voir ça.Oui, sauf que moi, je n'ai pas tout compris.
00:35:23 :On essaiera de reprogrammer un petit mentorat là-dessuspour vous remettre un petit peu d'aplomb par rapport à ça.C'est une notion qui n'est pas évidente à comprendre,mais qui tombe assez souvent au Toza.
00:35:37 :Donc sur les temps d'exécution en fonction de la taille de l'objet.Ça, c'est une notion qui est assez intéressante à comprendre.Mais vous allez toujours revenir plus ou moins dans les mêmes trucs.
00:35:49 :Donc il ne faut pas hésiter à bien, bien bosser les trucset à bien tordre les notions qu'on vous présente.Oui, je crois qu'il y avait une question.
00:36:00 :Ah, il y a un message.Oui, effectivement, Christophe, avec une fonction lambda,on peut aussi créer une valeur de retour par défaut pour un euphodique, effectivement.
00:36:13 :Et d'ailleurs, tu fais bien d'en parler parce que c'est vrai quemoi j'avais eu le coup au Toza, il m'avait posé une question comme çaet je l'avais sorti aussi avec une lambda.
00:36:23 :Le principe de ce que vous passez en paramètre d'euphodique, c'est un mapplable.Donc le lambda étant mapplable, vous pouvez le faire.Et du coup, c'est vrai qu'avec une lambda, vous pouvez définir une valeurau lieu de faire une fonction comme je vous ai fait au début,vous pouvez très bien faire une lambda, effectivement.
00:36:41 :Alors ce qui paraît peut-être pas très intuitif au départ,c'est qu'à l'intérieur du déphodique, on met un int ou un float ou une loop.On s'attendrait plutôt à mettre 0 ou non trouvé comme on avait fait au départ.
00:37:00 :Ce n'est pas super intuitif, c'est vrai.Maintenant, après, une fois qu'on a compris l'idée,c'est vrai qu'au début, on se dit tiens, je vais mettre la valeur que je vais renvoyer.
00:37:09 :Est-ce que vous avez des questions sur le Toza ?Il y a des choses sur l'EDEC qui tombent au Toza, sur collection.Les collections, oui. Il y a ITERtools, je les aime bien.
00:37:40 :Les DEC en ITERtools ou ces collections ?Oui, ces collections.Ces collections, oui.Les DEC ITERtools, il y a...Je n'en ai plus en tête, mais il y en a quatre du module collection,dont les ITERtools, qui tombent très, très, très souvent.
Aucune occurrence trouvée pour « ».
00:00:00
Présentation du DefaultDict et des modules collections
00:06:09
Utilisation pratique du DefaultDict
00:15:27
Comparaison avec les dictionnaires classiques
00:21:58
Gestion des erreurs et application du DefaultDict
00:33:21
Réflexion sur le développement et la préparation au TOSA
00:37:16
Questions et échanges autour du module collections