Session du 16 septembre 2025 à 21h00
Structures de Données
Bases du Langage
TOSA & Certifications
Librairie Standard & Modules
Python débutant avancé : TOSA et collections
Introduction aux niveaux TOSA Python, suivie d’exemples concrets avec zip, deque et les bases des classes et attributs.
00:00:50 :Bon je viens d'éterminer la formation sur Udemy.Ok d'accord.Pas sur DOC, sur Udemy pardon.Ouais, ok. Ok je vois, il n'y a pas de problème. Allez salut Antoine, t'es arrivé.
00:01:05 :Salut, bonsoir à tous.Ah ça arrive encore. Bon ce soir il n'y aura pas de framework ce soir.Donc pour moi là, zéro déchet, mais c'est José, il faudra que je pense à changer mon compte.
00:01:19 :Ouais.Je suis un ancien, il y a pas mal d'années j'ai travaillé un peu sur le sujet et là je reviens sur le sujet quoi.
00:01:27 :Ouais.Donc je me considère comme un petit peu débutant avancé on va dire.Ok nickel.Et puis les autres je les connais.On a notre expert algo Christophe Musso qui est là.
00:01:43 :Je me dis si t'as le même niveau toi aussi.Ok bon ça va être vraiment, on va être axé un peu plus débutant là on va dire.
00:01:54 :En fait je ne savais pas trop exactement, c'est le deuxième mentorat qu'on fait qui est ouvert à tous.Alors c'est vrai que souvent, c'est bien c'est qu'il fait des sessions, il revoit les bios, c'est cool.
00:02:07 :Mais j'ai plus tendance en général à faire du Django et des choses avancées en Django.C'est à dire.Ok.Ben c'est parti.Allez.Partager mon écran.
00:02:20 :Hop là.Nickel.Nickel.J'ai fait une faute à mentorat dans mon dossier.C'est pas grave je vais ficher mon écran.Ok.Là donc je sais qu'il y en a qui sont ici qui passent le Toza.
00:02:39 :On va avoir deux questions Toza.Alors Baptiste toi tu les connais.Parce que tu as eu le droit au Toza blanc on va dire.Et qu'est-ce que je vais dire.
00:02:52 :Tout le monde sait ce que c'est le Toza ou pas ?Oui.Oui.Oui.Ok.En gros alors tout le monde n'a pas répondu.C'est pas forcément mais en gros pour être rapide le Toza c'est une certification en fait.
00:03:10 :Elle est reconnue par énormément d'organismes.Voilà donc ça vous permet quand vous cherchez du boulot de le présenter.Avec votre portfolio vous ne présentez pas le Toza tout seul.
00:03:23 :Et en fait c'est un examen à passer en fait directement en ligne.Voilà.Et donc il y a plusieurs niveaux.Donc les deux premiers je les confonds à chaque fois.
00:03:33 :Mais c'est il y a basique et initial ou c'est initial et basique.Mais ceux-là on s'en fiche parce qu'ils comptent pas.Nous ce qui nous intéresse c'est opérationnel 3 sur 5, avancé 4 sur 5 et expert 5 sur 5.
00:03:43 :Donc voilà.Et donc justement sur Doctrine on a un parcours Toza qu'on propose avec le CPF notamment.Et on a deux formules.Une qui donne accès à 6 mois à Doctrine et une à vie.
00:04:00 :Donc c'est pour ça qu'il y en a qui passent le Toza actuellement.Enfin on a pas mal de personnes.Alors ici il n'y en a que deux qui sont là ce soir qui sont dans le mentorat.
00:04:12 :Mais donc tous les mentorats sont accessibles en rediffusion.Alors pour ceux qui sont entre guillemets gratuits il n'y a pas de problème.Mais pour ceux qui sont des mentorats premium sont accessibles du coup même en rediffusion que en premium.
00:04:25 :Voilà.Vu qu'il y a plein de nouveaux.Ce que je voulais dire aussi c'est que donc jeudi ça sera un mentorat.Alors mercredi et jeudi.
00:04:33 :Donc demain et jeudi ça sera des mentorats premium.Voilà.Et jeudi en général c'est beaucoup de Django.Ou des frameworks un peu annexes.Mais c'est quand même beaucoup de Django.
00:04:42 :Donc voilà.C'est parti.Je ne sais pas s'il y a des questions.Sinon j'attaque.Allez go.Ouais vas-y.En fait je suis en train de me mettre depuis les...
00:04:57 :Qu'est-ce qui fait que vous soutenez comme ça Django ?Parce que je l'ai vu que ça peut...Depuis très longtemps vous êtes sur ce sujet là.
00:05:04 :C'est comment ?L'historique qui fait ça ?Ou il y a vraiment une réalité derrière un lien entre Django et Python ?Déjà c'est quand même un vieux framework.
00:05:19 :Donc ça existe depuis longtemps.Mais...Pourquoi j'en parle beaucoup ?Parce qu'en fait je bosse beaucoup avec.Et donc...En plus j'ai intégré la Django Software Foundation.
00:05:32 :Et donc je m'investis quand même pas mal dans Django.Et donc je fais pas mal de choses entre guillemets avancées.Voire très avancées avec.Donc j'aime bien en fait...
00:05:42 :Après partager un peu tout ce que j'ai fait avec.J'ai fait plein plein plein de projets avec.Et donc là il m'arrive de faire des projets encore.
00:05:48 :Je ne sais pas.Là j'en ai fait un pour une mairie.Là j'en fais un pour une très très grosse boutique.Je ne sais pas comment je vais le faire.
00:05:56 :Mais je vais le faire.Donc ouais je bosse beaucoup avec.Mais enfin je me permets de juste se poser.Par exemple avec des outils WordPress.
00:06:05 :Ce n'est quand même pas mieux.Enfin c'est plus simple et plus ouvert.Je ne sais pas.Il y a quand même un intérêt d'utiliser des outils comme ça.
00:06:13 :Qui ne sont quand même pas des outils no code.Où il faut quand même mettre les doigts dedans.Ah oui.Parce que Django clairement il faut coder.
00:06:20 :Alors que WordPress pas forcément.Alors après je pense que...Je ne sais pas.Il y a Antoine qui est ici.C'est lui qui fait du PHP.
00:06:30 :Je ne sais pas si Antoine tu touches des fois du WordPress.Et que tu codes dessus.Alors j'ai vite arrêté WordPress.Parce que c'est un outil qui est très lourd.
00:06:38 :A mon sens.Qui prend énormément de ressources.Pour pas grand chose.Et en général qui est très sous exploité.Du coup en fait on télécharge un tas de choses.
00:06:46 :Pour pas en faire grand chose.Donc j'ai préféré me tourner vers des outils.Comme Symfony.Ou comme Next.js.En JavaScript.Pour justement être beaucoup plus pointu.
00:06:58 :Sur ce que j'envoie.Et pas surconsommer des datas.Ouais donc tu vois Symfony c'est un peu Django en PHP.Exactement.Enfin voilà.C'est un peu grossier ce que je viens de dire.
00:07:10 :Mais voilà.Merci du coup Antoine.C'est cool.Avec plaisir.Alors j'ai fait un peu de WordPress.Moi aussi.Mais je ne me suis pas amusé à recoder par dessus.
00:07:23 :A part touche un peu au CSS des thèmes.Mais personnellement je trouve que...Ouais ce que disait Antoine.C'est vrai que c'est lourd.C'est vraiment très très lourd.
00:07:32 :Au bout d'un certain temps les mises à jour.Moi je trouvais que ça commençait un peu à devenir galère.Quand il y avait trop de modules installés.
00:07:38 :Et en fait comme tu touches pas au code.Enfin je l'ai personnalisé.Je n'arrive pas à le personnaliser comme je voulais en fait.Voilà.Puis après il y avait des thèmes qui étaient plus compatibles.
00:07:49 :Enfin qui étaient plus mis à jour.C'était un peu...C'est du no code.Mais au bout d'un moment je trouve qu'il faut quand même mettre les mains dedans.
00:07:56 :Peut-être que je me trompe et que j'utilisais mal.Je ne sais pas.Mais depuis que je sais coder.En fait je n'ai plus envie de faire de Wordpress.
00:08:04 :Surtout que maintenant je fais du Wagtail.Où c'est vraiment un truc que j'adore faire aussi.Et donc ça me permet de me faire un Wordpress maison.
00:08:12 :Voilà.Combiné à Django.Je ne sais pas si j'ai répondu à tes questions.Si si si.Complètement.C'était pour confronter des expériences.Ouais.Nickel.Du coup je t'enverrai un petit lien.
00:08:36 :Tu verras sur le Discord.Bah c'est parti.Attends j'ai une petite question Gab.Du coup dans l'organisation le jeudi c'est Django.Et le mardi...Ouais.
00:08:53 :En gros on va alterner.Mais je vais voir comment je vais faire.Parce qu'en fait il y a les mentorats gratuits.Ça va être alterné un coup le mardi et un coup le jeudi.
00:09:05 :Voilà.Le mercredi il y aura des mentorats.Parce que maintenant on va passer à trois mentorats.Il y en aura un le mercredi aussi.Ok.
00:09:12 :Le mercredi ça sera sûrement du Python pur.Ça dépend de Stéphane de ce qu'il veut faire exactement.Ouais.Le mercredi ouais.Et en fait on va voir comment on va s'organiser après pour les mardis et jeudis.
00:09:23 :Mais en général oui le jeudi c'est moi qui le fais ça.Et donc ça sera principalement du Django.Peut-être voir des petits mentors annexes je sais pas.
00:09:35 :La semaine dernière j'ai fait du...On s'est fait un tchat.C'était jeudi je crois.Ouais.On s'est fait un tchat quoi en temps réel.Mais pas avec Django.
00:09:47 :Pas avec Django.Je sais pas si j'ai répondu à la question.Donc mardi oui ça restera Python pur.Ok ok.Voilà.Moi tu sais que je suis sur Python et donc Django non.
00:09:59 :Je suis pas sur Python pour le moment.Ouais ouais.Non c'est clair on a rien à voir ouais.Ok.Je sais pas si j'ai répondu à la question.
00:10:09 :C'est bon ?Je sais pas si j'ai répondu à la question.C'est bon ?Bon je vais passer à la suite.Je ne sais plus ce que je voulais faire.
00:10:19 :Ouais ok.Je vais l'appeler comment ?Ok.On va l'appeler dog.Le fichier.Tac.Allez je fais un petit exercice rigolo.Hop là.Le genre d'exercice qui tombe autour de ça.
00:10:32 :Pas exactement celui-là mais...C'est le genre de choses qui peut tomber autour de ça.Donc imaginez.Tout le monde a fait l'orienté objet jusqu'ici.Je vais regarder le chat.
00:10:44 :Si il y en a qui n'ont jamais fait dites le moi.Ok.Si il y en a qui n'ont jamais fait dites le moi.C'est normal que du coup ça peut se paraître un peu compliqué.
00:10:54 :Ok on a une classe chien.Le chien va avoir quatre pattes.Normal.On va avoir un constructeur de classe.Je vous montre un peu le type de questions qu'on peut avoir autour de ça.
00:11:05 :Ok.Donc on a un constructeur de classe.On va pouvoir l'instancier en lui donnant un nom notre chien.Ok.Hop là.Ok.Maintenant imaginez.Je vais instancier du coup un chien.
00:11:20 :Voilà.Et on va l'appeler notre chien.Pogo.On va l'appeler Pogo.Alors.Maintenant.Ok on va faire ça.On va dire que notre chien.Il est de couleur.
00:11:37 :Il est de couleur noire.Comme Pogo.Donc ensuite.Ce qu'on va faire.Est-ce que pour l'instant il y a un truc qui vous choque ou pas ?
00:11:46 :Oui.De quoi ?La couleur.On n'a pas.Il n'y a pas d'attribut couleur.Et pourtant tu as passé couleur à l'instance MyDoll.Ouais.Ok.
00:12:02 :Donc.Justement la question.Qu'est-ce que ça va me faire ici ?Est-ce que je vais avoir la couleur ?Une erreur ou non ?Une erreur.
00:12:10 :Une erreur tu dis ?Oui.Ok.Attendez les autres quand ce qu'il y a.Est-ce qu'il y a encore des idées ?Moi je pense que ça marcherait quand même.
00:12:23 :Mais ça ne serait pas intégré dans la classe dog.C'est ça le sujet quoi.Ça devient une variable indépendante.En attribuant la couleur.Indépendante.En attribuant l'instance par exemple.
00:12:35 :Oui, oui, voilà.Donc pour toi ça marche.Ok.Est-ce qu'il y en a d'autres qui ont des idées ?C'est ce que ça ferait.C'est une question typique d'autosactif.
00:12:51 :J'aime bien.S'il y en a qui n'osent pas répondre, je vous envoie le jeu.Je ne compte pas contre ça.Donc franchement je n'ai aucune idée.
00:13:00 :T'as dit quoi ?Je ne compte pas contre ça.Donc franchement je n'ai aucune idée.J'aurais envie de dire une erreur.Ok.Donc là en fait,on a créé,donc on a bien black,on a créé du coup un attribu,je vais grossir le code peut-être.
00:13:20 :En fait on a créé un attribu d'instance à la volée.Ça c'est tout à fait possible.Vous pouvez l'interdire avec votre classe,avec quoi je ne sais plus,comme on appelle ça,avec les slots je crois.
00:13:32 :Bon ça c'est autre chose.Mais il est tout à fait possible du coupde créer en fait un attribu d'instance à la volée avec Python.
00:13:37 :Donc là on pourra traverser,je ne sais pas,mydog.foo,qui est égal,oui peu importe.Et là ici si je vais printer,mydog.foo,il n'y a pas de problème.
00:13:53 :Alors là on a bien oui.Donc on peut créer des attribus d'instance,mais il faut savoir que ça on peut le bloquer,qu'on peut très bien créer des slotset dire on va définir un nombre d'attributs possibles.
00:14:05 :C'est surtout des noms d'attributs possibles.On le fait par exemple,si je ne dis pas de bêtises,je l'ai fait la semaine dernière sur Streamlit,où j'utilisais le sessionStateet je créais des attributs d'instance comme ça à la volée,où je mettais un peu mes noms à moi.
00:14:26 :Donc ça peut être pratique.Avec Streamlit,pour moi il faut que ce soit pratiquede créer comme ça des attributs à la volée.Donc c'est possible.
00:14:39 :Autosave, ils vont vous le mettre.Il y en a beaucoup qui se posent cette question là.Différemment,mais c'est vraiment pour différencierattributs d'instance, attributs de classe.
00:14:49 :On va rester sur le même code.Hop, MyDog.Pause.Qu'est-ce que j'ai à faire ?Est-ce qu'il y en a qui ont une idée ?4 ?
00:15:20 :Ok.Si c'est évident pour tout le monde,vous me le dites.Il n'y a pas de problème.Je peux passer à la suite.4.J'ai cru entendre un bruit.
00:15:34 :Je disais 4.Tu vois, je touche en même temps.Ok, donc un autre 4.Et un troisième.Donc là, effectivement,on accède à l'attributde la classe par l'instance.
00:15:52 :Ok.Après, rien n'empêche de diresi jamais on était là.Il est où, MyDog ?Il est là.On peut très bien dire qu'on le pause.
00:16:02 :Ça peut être égal à 3.On peut très bien le définirsans souci.On a bien 3 ici.Ok.Maintenant.Lequel ?Je me suis pris des notes, justement.
00:16:16 :J'essaie de trouver des petits coups,des petits trucs marrantsqu'ils nous ont mis.Ok.Si je faisais ça,ça, c'est bon.Bon, là, effectivement,vous savez le mettre,mais je pense que vous allezle trouver facilement.
00:16:30 :MyDog.name.Pour vous, c'est bon,il n'y a aucun problème.J'imagine.Oui, c'est clair.On est d'accord.Je voulais le mettre,mais en général, c'est plus facile.
00:16:46 :Ok.Alors, il y en aqui se font avoir sur...Il y en avait 3 autresdu genre qu'ils avaient mis.Il y avait...Alors, ils mettaient un dog.pause ici.
00:17:00 :Voilà.C'est le des mettez.Pour vous, est-ce que c'est bon ?Oui.Ok.On est d'accord.Ça, ça passe.Donc, on passe par la...par la classe.
00:17:21 :Et il y en avait 2 derniers.Alors, ça, je sais qu'il y en abeaucoup qui se font avoir là-dessus.Alors, je ne sais plus choisir.
00:17:28 :Il passait...Il faisait un...Ah, voilà.Il faisait un truc genre...La question, ça devait être ça.Qu'est-ce que faitdog.name ?Et ensuite, il y avaitun truc genredog.name.
00:17:48 :Alors,dog.J'ai fait quoi ?J'ai .pause.nameet .color.Voilà.Ok.Donc, les autres, on était d'accordque c'était bon.Tac.Vous avez vu.
00:18:03 :Est-ce qu'il y en a pour vous ?Erreur.Ok.Oui, pour le dog.namemais non pour l'autre.Alors.Merde.Tac.Donc, celui-là, c'est...Je sais que celui-là,il y a toujoursdes embrouilles sur celui-là.
00:18:30 :Donc, si je fais ça,on voit que dog.name,ça ne passe pas.Parce que dog.name,c'est un...On passe par la classeet on va chercher icidans l'attribut de...
00:18:39 :Non, merci.L'instance.Et forcément,si on commenteet qu'on relance ça,ça sera pareilparce qu'ici,on a créé un attribut d'instanceà la voléeet donc, on ne peut pas y accéderdepuis la classe.
00:18:53 :Tac.Voilà.Est-ce que c'est bonpour tout le monde ou pas ?Oui.Alors, ça,c'est une question vraimentpure Tosa, ça.C'est...En fait,ils vont tout vous mettre.
00:19:08 :Celle-là,ce n'est pas une classe dog.Je ne sais plus ce qu'ils mettentcomme exemple,mais j'ai repris un trucun peu qui ressemble.Mais ils vont vous mettre,en gros,ils mettent des propositionsà gauche.
00:19:19 :Ils mettent la classe,des propositions à gauchelors du dog.machinet qu'est-ce que ça renvoieà droite ?Donc, soit une erreur,soit non,soit quatre,ainsi de suite.
00:19:28 :OK.Alors, je ne sais plus.Il faudrait que je retrouvecomment on fait.Est-ce qu'il n'y a pasdes slots ?Comment il marche,les slots ?
00:19:39 :Est-ce que ce n'est pas ça ?Est-ce que ce n'est pas ça ?Si je fais...Je ne sais pluscomment ça marche,les slots.
00:19:48 :Je n'ai pas d'Internetavec moi ouvert.Je vais regarders'il y a mon téléphone.Slots, Python.Je crois que c'estutilisé comme çadans la classe.
00:20:00 :Avec mon téléphone,je vais aller voir ça.Oui, ça doit êtreun truc comme ça.Je vais aller voir sur monslot.Donc là,on a bien introduitle name.
00:20:11 :Est-ce qu'on peutmettre le color ?Ouais, voilà.Donc là, par exemple,j'ai défini icil'attribut.Je vais retesterjuste rapidement.OK.Donc là,il n'a pas voulume mettre le colorpuisque j'ai définiun slot.
00:20:29 :Et en fait,le slot,il enlève.Normalement, c'est bon.Bah non.Ah oui, parce que forcément,oui.Ça, je peux l'enlever.Hop.Et là, ça fonctionne.
00:20:42 :Il n'y a pas de problème.Donc vous voyez,si vous voulez empêcherla création d'attributsdynamiques,on peut avoir des slots.J'avais un douteparce que ça fonctionnecomme ça.
00:20:53 :Donc ça doit bien êtreun tube où on peutpasser une liste aussi,je crois.Voilà.Bon, je vous rassure,le slot,ils n'en parlent pasau Toza.
00:21:02 :Ils n'en parlent pasdu tout.Alors.Donc,ensuite,ouais, ok.C'est la même couleur.C'est ça.Donc,on peut l'utiliser en listeen tube.Merci Antoine.
00:21:17 :Donc,ensuite,on va recevoirune autre petite questionde Toza.Donc là,Baptiste,t'as pas le droitde répondre.Alors,je vais essayerde retrouver la...
00:21:30 :Tac,on va la jetertout autrement.On vaprendre un fichierqu'on va appelertouch.C'est pasde l'algo,mais on va l'appelerdiff.paille.Tac.
00:21:42 :Diff.paille.Et je vais prendrel'énoncé que j'avaisdu Tozaet je vais le remettre.Ok.Hop.Alors,est-ce que vous voyeztous bien ?Je vais vous laisserdu coup me direce que vous en pensez.
00:21:59 :Hop là.Je vous laisse regarderun petit peu.Est-ce qu'il y aquelqu'un qui se lancedepuis le coup ?Alors,il y a rien de compliquéen plus.
00:22:32 :Ils mettent un énoncé,mais il fautqu'il y aitune réponse.Donc,ils mettent un énoncé,mais il n'est vraimentpas compliqué.Ok.Alors du coup,est-ce qu'il y en aqui veulent se lancer dessusou pas ?
00:22:52 :Pas du tout.Je vais te faireun max moins min.Voilà.Alors,voilà.Justement,regarde,vas-y.Ça s'appelle commentDiff max min.Allez, hop.Il prend quoi ?
00:23:11 :Une liste entière,une liste ?Il l'appelle param,je ne sais plus.Bon,on peut l'appelersi on veut.C'est parti.Ok.Éclateur effet.Return.
00:23:25 :Ok.C'est ça que tu veux fairej'imagine,non ?Ouais, ok.Donc,tout ça pour direqu'il ne faut passe prendre la tête.Merci Christophe.
00:23:41 :Je pensais à,alors,quand on passe le Tosa,du coup,il y a une chose que j'ai dénoncéequi peut se paraître un peudes fois,mais bien souvent,c'est fait exprèspour vous faire utiliserlesfonctions de base Python.
00:23:57 :Il y en a plein du genreoù on serait partià faire des bouclesensuite,mais en fait,si vous avez les fonctionsde base de Python en tête,ils sont résolussoit en une ligne,soit en quatre lignes,même si on décomposequ'on aurait pu mettreun max num,
00:24:10 :un max list,voilà, ainsi de suite.Mais voilà.Donc là,pas besoin de s'embêterà écrire beaucoup de code.Là, c'est résolu.Est-ce que du coup,c'est bon pour tout le mondeou pas,pour les fonctions de basecomme ça de Python ?
00:24:24 :Oui, c'est bon.Ok.Ok, ok.Bon, c'est l'exempled'algorithmequi tombe souvent au Tosaet qui ne sont pas compliqués.Enfin,c'est un des plus faciles.
00:24:34 :Après,il y a des trucsqui sont bien plus hard,mais au moins,ceux qui sontà des niveaux abordables,voilà,il n'y a pas à se fendre la tête.
00:24:42 :Ok.Allez.Je voulais voir deux choses.On va terminerpas par un exercicepas par un exercice Tosa,mais parpar ça ou par ça.
00:25:00 :Si il y en a qui connaissent,si tout le monde connaitDEC ou pasen Python ?DEC,ça vous dit quelque chose ?Ouais, ok.
00:25:14 :J'utilise jamais,donc...Ok.Sinon,ZIP et ZIP longestqu'on utilise ou pas ?ZIP, un peu plus.Et le ZIP longest ?Non.Bon, allez,on va se faire un petit coup de ZIP.
00:25:31 :En plus, c'est pratique.C'est tout simple, ZIP.C'est vraiment pas mal.Allez, c'est parti.Donc,il y en a qui connaissent bien ZIPou pas déjà ?
00:25:43 :Après, je ne l'utilise pas tous les jours,je vous rassure.Pas souvent.Ok.Il est bien à connaître parce queparce qu'il peut être pratiquedans certaines situations.
00:25:58 :Ok, c'est parti.On va faire un petit peu de ZIPet un petit peu de ZIP longest.On va voir un peu la différenceentre les deux.
00:26:05 :Alors, imaginonsqu'on aitdéjà un fichier Pythonqui soit ouvert.Ce serait pas mal.Je ne sais pas,je vais l'appelertouchoptac.C'est juste pour avoirun fichier différent.
00:26:21 :Ok.Imaginons...On va commencerbasiquement avecune liste.Ok.On va avoir des noms.On va avoir Patrick,Sébastien.On va voir qui est Roger.
00:26:38 :EtJosé.On a combien ?1, 2, 3, 4.On a 4 personnes.Ensuite, on va avoirdes notes.Donc, on va avoirun 10,un 20,un 13et le dernier,un 12.
00:27:04 :Donc là, on a des listesde la même longueur.Donc, imaginezque ça pourrait arriverque vous receviezdes donnéesmais qui sont un peuéclatéesdans deux structuresdifférentes.
00:27:17 :Donc là, on a une listeavec les prénomset une liste avec les noms.Heureusement,elles sont ordonnées.Voilà.Elles sont dans le bon ordremais c'est juste quec'est séparé.
00:27:26 :Donc,un type, c'est pas malparce que ce que vous pouvez...Alors,j'ai déjà vu ça en fait.J'ai déjà vu çaet vous avez vu ça aussisouvent au début.
00:27:37 :J'en suis sûr que j'ai déjà fait.Hop,on va faire élève.Donc,vu que la listefait la même longueur,on va prendre la longueurd'une des deux listes là,donc élèveet on va se direqu'on va printerdans une f-strings.
00:27:53 :On va direélèveokà l'indice itacsimple a u la noteenotetacà l'indice x.Donc là, si je fais ça,on est contentparce qu'on voit que Patrickil a bien eu 10,Sébastien il a eu 20,ainsi de suite.
00:28:18 :Donc, ça marche très biensauf qu'en piton,il y a un moyen,on va dire,plus propre,plus pratique de faire ça.Moi, perso, je préfère.
00:28:26 :C'est l'égypte.Donc, en gros,on va même du couppouvoir s'enlever icil'indice.Tac,ok.On va s'enlever l'indiceet on va utiliser l'égyptepour afficher çade manière, on va dire,un peu plus propre.
00:28:42 :Donc, on va se direon va réécrire notre book iciforélèvealors ici, on va mettrestac,voilà.Donc, for élève noteetdonc, on va faire un zipen fait de nos deux listes.
00:29:02 :Donc,on va faire un zip ici,tac,et on va prendre élèveavec un s,tac,et note avec un s.Ça sert,normalement.Ça sert bon.
00:29:17 :Voilà, et donc là,on a bien la même chose.Patrick a eu 10,Sébastien a eu 20,donc en fait,c'est un moyende combiner icidans un zip.
00:29:25 :Ça porte bien son nom.Vous allez mettre en parallèleentre guillemetsde vos deux itérables ici.Hop,vous allez pouvoiritérer dessus comme ça,utiliser élève et note.
00:29:35 :Voilà,sans vous soucier de l'index en fait.Vous n'allez pas gérer l'index.Est-ce que pour l'instant,c'est bon ou pas ?Oui.Ok.Alors,il y a une petite limite à ça.
00:29:47 :Il y a une petite limite à ça.Mais bon,si on va le faire comme ça.Ça fait chier à comment je vais le faire.
00:29:55 :Ouais,on va faire ça.Allez.Donc,imaginons qu'on a,je suis où ?J'ai mon curseur,tac,il est là.On a,ici,à élève,on va ajouter,hop,je ne sais pas,allez,on va ajouter Christophe.
00:30:15 :Tac,sur Christophe,on n'a pas encore sa note.Donc là,ça peut être embêtant,parce que si on reprend notre structure de,de zip ici,tac,voilà,on va aller là,tac,je vais enlever ça,voilà.
00:30:29 :Est-ce que vous savez ce qui se passe dans ce cas-là ?Mais il va y avoir une erreur d'index.Alors,ça,ça,c'est un peu plus sournois que ça,en fait.
00:30:45 :C'est que tu n'apparais même pas dedans,tu vois.En fait,donc,cette liste-là est plus longue.Donc,en fait,l'univers va s'arrêter làoù la,comment dire,je prends tous mes mots,là.
00:31:00 :Pardon ?C'était quoi ?Oui,la deuxième,il était là à l'autre,la deuxième,il était là à le suivant.Du coup,en fait,il va s'arrêter,parce qu'ici,il va prendre la plus courte,et dès qu'il arrive à la plus courte,elle est épuisée,boum,il s'arrête.
00:31:16 :Donc,en fait,là,on considère,du coup,qu'il y a Christophe à la fin.Du coup,le problème,c'est que,ben,Christophe n'apparaît pas ici.
00:31:27 :Donc,c'est des problèmes qu'on pourra avoirquand on récupère des données,mais qu'il n'y en a finalement qu'une partie.Bon,bien qu'en général,quand je récupérais des données,j'ai dû avoir deux listes séparées,maisj'ai vu,lu que ça pouvait arriver,qu'il n'y en a qu'utilisé l'IP,et donc,
00:31:43 :là,on a vu que, du coup,Christophe n'apparaissait pas,sauf qu'on aimerait bien,au moins,le voir apparaître,et dire que,bon,il n'a pas encore de notes,ou qu'il n'a pas de notes,simplement.
00:31:54 :Donc,il y a un,je comprends toujours,on va essayer avec Functools,on va rester comme ça,on va l'importer là-haut,hop,parce que je n'aime pasimporter ça en local,on va se faire.
00:32:04 :Alors,je ne sais pluss'il y a fait de Utertoolsou de Functools,on va essayer les deux.Non,ce ne sera pas Functoolsdans la logique.
00:32:13 :Non,c'est Utertools,je pense.Bah oui,c'est Utertools,je vais mettre du zip.On importe,du Plongesta,voilà.Lui,il est sympa,du coup,on va finir là-dessus.
00:32:26 :Il est sympa,dans le sens,en fait,où,donc,on va l'utiliser comme ça,de manière basique,hop,tac.Donc là,maintenant,si je fais ça,hop,on va créer la note de None.
00:32:40 :Bon,ce n'est pas superd'avoir le None,mais déjà,on sait qu'il existe,mais qu'il n'a pas de note.Euh,donc là,c'est important de savoirqu'en fait,on a bien,qu'on ne s'arrête pas,en fait,à joser,qu'on vole sur Christophe,mais du coup,on peut lui donner,
00:32:57 :en fait,une,comment dire,ce qu'on appelleune Fill Value,hop,parce qu'ici,on ne sait pasquelle est la note,on ne l'a pas,hop,et maintenant,si on fait ça,hop,donc on voit bienqu'on a Christophequi est la notede N1,on ne sait pas,
00:33:16 :voilà.Donc,est-ce que Zip,est-ce que ZipLanguest,du coup,il y en a qui connaissaientdéjà,si je ne me trompe pasde tout à l'heure,Anthony Tartouze,ouais,c'était ça.
00:33:28 :Donc,ZipTartouze,du coup,ZipLanguest,vous voyez,du coup,ça peut pallier un peuau problème du ZipBasic,euh,au niveau de la longueurdes listes,en fait,voilà.
00:33:41 :Lui,il va aller jusqu'au bout.Oui,je me l'ai demandé.Donc,merci,parce que je ne connaissaispas du tout.Petite question,là,tu l'as fait avec deuxlistes,mais tu peux le faireavec trois,quatre,cinq,plusieurs listes ?
00:33:58 :Alors,alors,attends,imagine,je ne sais pas,on a quoi,on a,alors là,on va voir,élève,note.On va mettre un S,c'est mieux.
00:34:11 :Bon,j'en ai qu'une,là,mais c'est pas grave.Voilà,on va mettre une autre.Tac.Bon,on sait à peu prèsoù j'habite,du coup.
00:34:22 :Ouais.Tac.Et celui-ci.Hop,euh,je suis où ?Avec un S.Voilà,à l'école,tac,on va faire ça.À l'école,euh,euh,je suis où ?
00:34:37 :À l'école,voilà,c'est bon.Tac.Tac,tac.OK.Donc,on a bien beau vert,rond,et là,tac,pareil,on va voir,notre fil value,elle fonctionne aussi,parce qu'on a,on a des listesqui sont,ont toutes des longueursdifférentes,et donc,chaque,euh,valeur vide,entre guillemets,
00:35:03 :il va me mettrele fil value ici.Euh,euh,chercher,on pourrait pas avoirun fil,non,je crois pas,un fil value par,euh,par étherate,mais je pense pas.
00:35:16 :Tu m'as posé la question.Mais voilà,donc,oui,donc,tu peux passer,en fait,euh,euh,tous les étheratesque t'as envie,là,ici,j'ai passé les trois,si je veux,j'ai répondu à ta question ?
00:35:32 :Tout à fait,oui,oui,je veux pas,euh,te revenir à chaque fois,oui,oui,oui.Ah,pas de problème.Pas de problème.Ah,j'aime bien montrer les exemples,pour te dire,oui,tu peux,voilà,comme ça,au moins,euh,donc,voilà.
00:35:55 :Euh,en fait,c'est passé vite.Euh,c'est passé vite.Avec,euh,on va parler de decks.Ouais,je regarde un petit peu de,si y a,si j'ai pas une idée,euh,je vais en parler un peu plus,euh,hum,ça va me falloir un petit peu de temps pour en parler.
00:36:15 :Enfin,on va pas faire plein de trucs avec,mais,ça va me falloir un peu de temps.Euh,ok,Ok,pour finir,euh,pour finir,est-ce qu'il y en a qui sont à l'aise avec le module collection ?
00:36:26 :Ou pas ?Du tout.Ça commence.Un peu,un peu.Ouais,euh,y en a qui connaissent pas peut-être le module collection,euh,je vais couper mon code.
00:36:46 :Euh,tac,ma session perso,elle est où ?Elle s'est pas ouverte la,elle est,tac,tac,collection,collection,je l'ai pas dans mes favoris,ok,c'est pas grave.
00:37:02 :Tac,alors,je vous conseille,je vais le mettre dans le,je vais le mettre dans le chat,s'il est là,tac,ok.Je vous l'ai mis dans le chat,pour ceux qui connaissent pas,c'est hyper pratique.
00:37:16 :Euh,la prochaine fois,donc,euh,chut,demain,c'est Stéphane,jeudi,je fais de l'ango,je le ferai le mardi prochain,du coup,si c'est moi qui le fais,on fera du deck,et, euh,j'ai fait un test avec deck,en gros,je vous le,je lance un peu à l'oral comme ça,
00:37:39 :en fait,deck,euh,imaginez,vous ayez une liste de,je sais pas,j'ai fait avec 100 millions d'éléments je crois,une liste de 100 millions d'éléments,si vous insérez un élément en début de la liste,donc vraiment à la première position,avec une liste,ça vous décale tout,donc, en fait,
00:37:57 :Python va être obligé de tout décaler,donc,ça mange un peu en mémoire,je sais pas si c'est ça,tout le monde le savait,ou pas ?
00:38:07 :T'as dit quoi ?Non.Ouais,bah,en gros,en fait,une liste en Python,quand tu ajoutes un élément au début,enfin,au premier élément de la liste,enfin,tu vas décaler tous les éléments à droite,donc,en gros,pour ceux qui connaissent,ON,plus il y aura d'éléments derrière,
00:38:28 :plus ça va être long.D'accord,ouais,je vois,j'ai compris,sur le OL,donc,UL.Merci.Et donc,le deck,lui,permet,en fait,d'ajouter des éléments au début d'une liste,mais en complexité O1,en fait,du coup,ça va,peu importe le nombre d'éléments qu'il y a dans la liste,
00:38:49 :ça va,ça sera toujours le même temps.Donc,c'est ce que je vous conseille,il est vraiment sympa,et il y a des choses pratiques.
00:38:55 :Alors,ça,j'avoue,je n'utilise jamais le name tuple.Vraiment,jamais,jamais.Donc,ça,on le fera la prochaine fois.Le test que j'ai fait sur 100 millions d'éléments,je crois que,sans le deck,ma liste,alors,avec le deck,elle était 7000 fois plus,l'opération était 7000 fois plus rapide.
00:39:13 :Chez une map,je ne m'en sers jamais,il y en a un,4,voilà.Je vous conseille de regarder un petit peu le counter,qui est super pratique pour tous les petits algos.
00:39:20 :Ça vous évitera des tours de boucle,avec des dictionnaires.Et puis,de là,c'est pas mal.Et donc,la prochaine fois,on fera ça,du coup,on sera du deck à ce moment-là.
00:39:30 :Donc,voilà,c'était un petit mentor intéressant.On a vu du...On parlait un peu de choses au début,à peine l'esprit,Antoine.Par rapport à WordPress,on a fait un petit peu de Toza,puis un petit peu de Zip,on a fait un petit peu de...
00:39:41 :On a fait un petit peu de...On a fait un petit peu de...On a fait un petit peu de...On a fait un petit peu de...
00:39:45 :Par rapport à WordPress,on a fait un petit peu de Toza,puis un petit peu de Zip,et Zip Longuest.Bah,Zip Longuest,si c'est une découverte pour vous,franchement,ça me fait plaisir,parce que...
00:39:56 :Je l'ai découvert à un moment,je l'ai même utilisé,j'en suis servi il n'y a pas très longtemps,et en fait,c'est assez cool.Donc,voilà,je ne sais pas s'il y a des questions.
00:40:04 :Non,c'est très bien.Moi,j'ai découvert Zip Longuest aussi.Alors,il y a qu'un an,mais quand j'ai découvert,je me suis dit,putain,est-ce que je m'étais fait avoir une foisavec deux listesqui n'étaient pas la même taille,et du coup,c'est merde,ça ne marche pas comme je veux,
00:40:19 :du coup,tu vois.Donc,c'est assez pratique.Est-ce qu'il y a des questions,du coup,ou pas ?De mon côté,non,merci,c'était super.
00:40:34 :C'est vrai que même si c'est le Toza,enfin,etc.,je trouve toujours...Comme tu le fais très pratiquement,très concrètement,ça me permet de voircomment ça code,et ça,pour moi,c'est très important,parce que c'est plutôt une connaissanceun peu bibliographiquedes choses,et là,ça me permet de voir concrètement.
00:40:51 :Je vais remanipuler tout çadans la semaine.Merci.Ouais ?OK,ben,nickel.Je te fais plaisir.Non,après,comme je dis,le Toza,ce n'est pas qu'un examen,c'est...
00:41:05 :Moi,honnêtement,j'étais parti sur du Djangopendant longtemps,et j'avais lâché Python Pure,et du coup,ça vous oblige à...Enfin,ça vous oblige à se concentrersur les bâtes, quoi.
Aucune occurrence trouvée pour « ».
00:02:54
Le TOSA
00:06:04
Discussion autour de Wordpress
00:10:27
classes : attributs d'instances et de classes
00:21:47
Exercice TOSA : utiliser les fonctions built in de python
00:24:53
zip et zip_longest
00:36:45
Module collections : aperçu général