Session du 25 janvier 2025 à 16h00
TOSA & Certifications
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
Session de mentorat TOSA
00:00:00 :On va se faire un pré-mentorat.Si tu lances ton truc, ça c'est pas mal.Voilà, il te crée un fichier data.Et par contre, dans le fichier data.csv, c'est la panique.
00:00:35 :Ouais, alors attends.Le code, il est ouf.Comment on pourrait faire ?De toute façon, t'as bien ton délimiteur, là.Y'a pas de problème.Là, tu envoies...
00:00:52 :Ouais, le délimiteur, il le met à chaque lettre, en fait.C'est pas trop...Merde.Ok.T'as ta boucle, sa data.Tu fais ton...Et ton export CSV, il est où, toi ?
00:01:15 :Au-dessus, ouais.J'ai fait une string, c'était peut-être pas ce qu'il fallait faire.Euh...Je pense pas, je pense que lui, il préférait avoir un...Ah, ouais, ok.
00:01:34 :Ouais, t'as presque le bon truc, je pense.Alors, je pense...Putain, c'est con, j'ai plus qu'aux pilotes, je crois.En fait, si on fait un truc comme ça...
00:01:46 :Tu ferais...Tu ferais plutôt...Une liste.Alors, attends, t'as ton dictionnaire.T'as ton dictionnaire.Et si tu fais un truc comme ça, DJ, t'as...Là, t'as ton idée.
00:02:05 :Et ensuite, t'as l'idée, c'est ça ?T'as le prénom ?Ouais.Le nom et l'âge ?Ouais, ouais.Ok.Euh...Attends, je suis une connerie, je suis où, là ?
00:02:18 :Je suis dans ma liste, elle est où ?Allez, on va la fermer.Voilà.DJ ici.C'est le prénom ?Je crois comme ça.Ouais, ouais, t'as le nom d'échange juste au-dessus.
00:02:32 :Ouais, est-ce que j'ai regardé en même temps ?Ouais, et âge, là ?T'as nom et âge.Ouais.Est-ce que ton export CV était pas mal, là ?
00:02:41 :Ok.Attends.Par contre, là, du coup, on en verrait...Imaginons que tu veux l'appeler, donc on va regarder pareil.Est-ce que si on fait ça, il y a une erreur, un bug ?
00:02:55 :Non.Ah, ok, là, il marche pas.Ouais, pas mal.Ça me paraît, ouais, c'est ça, en fait.Ah, d'accord.Donc, en fait, il faut créer une liste.
00:03:04 :Ouais, je sais que...Euh...Regarde, attends.J'essaie de...Il est où, mon navigateur ?Tout, tout, tout, déjà.Ouais, j'ai compris.J'ai fait en chaîne de caractère, il faut pas.
00:03:18 :Non, non, non, non.Il n'y a pas de plus en chaîne de caractère.Forcément, toi, chaîne de caractère, configuration, t'as tout en chaîne de caractère.
00:03:25 :Et là, CSV, je crois qu'il est complètement perdu, tu vois.Ouais.Euh...Voix électro.Et normalement, si tu vas voir ton voix électro...Alors, je crois qu'il y en a pas.
00:03:37 :Right.Euh, c'est bon.Tu vois, tu envoies ta liste dans la doc.Ça y est.D'accord.Oui, ok.Ouais.Ok.Ouais, c'est une liste qu'il attend, effectivement.
00:03:52 :Ok.Je comprends mieux.Tout ce qui est modules comme ça...Merde.Librairie standard à Python.En général, souvent, je vais pouvoir t'entendre dans la doc.
00:04:01 :Parce qu'il y a un exemple.Tu vois, là, j'aime bien ce qu'il met un exemple.Ou sinon, des fois, je suis pas fan forcément de toutes les docs.
00:04:08 :Et je vais voir un peu sur les sites comme ça, tu vois.Alors, je sais pas s'ils ont un...Right.Right.Right pour ici.Ouais, tu vois, data.
00:04:19 :Ah, là, il est sous forme d'un...Il envoie directement le dictionnaire.Ah oui, effectivement.Ok.Attends, on va le tester, ça.Oui, ça m'intéresse, oui.
00:04:32 :Merci.Genre, on va...Hop.Tac.Et lui, il a des datas qu'il envoie ici en data.Ouais, parce que c'est...C'est vraiment ça que je voulais faire.
00:04:43 :En fait, ils ont repris de la même façon que...C'est vraiment ça que je voulais faire.Ah ouais.Non, mais c'est bon, ok.J'ai compris.
00:04:51 :Non, d'accord.Tout à l'heure, on faisait carrément directement d'appeler nos clés.Et là, on a appelé les clés, on envoie directement le dictionnaire.Ok.Et normalement...
00:04:59 :C'est bon.Ah oui, je me suis compliqué la vie avec le...Ouais, ouais, ouais.J'ai pas besoin, en fait.Ton code, il est où ?
00:05:08 :Déjà, attends, dans le vidéo, mon truc, on disparait.Euh...Je peux copier sur un...Comment copier sur Discord ?J'essaie de le faire comme ça.
00:05:17 :Hop là.Il en est pas long, mais t'as une pesance.Ça peut tomber dans le dos aussi, non ?Oui, mais c'est pour ça.Je suis en train de me faire des fiches sur les bidons et tout ça.
00:05:29 :Et puis, donc là, je suis dans le CSV, là.Et j'ai voulu faire quelque chose...Est-ce que tu peux...Oui, oui, mais attends.Je pense qu'on peut simplifier le code, du coup.
00:05:42 :Ah non, là, il envoie directement.Ok.Tout à l'heure, j'ai fait quoi, déjà ?Comment j'ai fait ?J'ai envoyé directement le...Cette forme de dictionnaire, je sais plus sur le site.
00:05:55 :Ouais.Attends, il a fait un vote.Ah, ok.Regarde.Je viens de comprendre.Ah oui, d'accord.Ils ont dû faire une pause.Donc là, en fait, tu pourrais directement envoyer...
00:06:07 :Je pense...On va essayer.Normalement, c'est ça.Ouais.Non, ça va pas.D'accord.Ah, là, il a pris que le leader, en fait.Attends.Ouais, il a fait qu'il a pris que le leader.
00:06:17 :Donc, tout à l'heure, il avait ses data, name, branchière.Il l'a bien mis dans un dictionnaire, dans une liste avec un dictionnaire dedans.Et il a fait quoi, lui, en fait ?
00:06:27 :Il envoie des écritures.On y...Euh...Ah.Ah, ah, ah.Ok.Je pense que c'est parce que lui, en fait, il a initié...Ah, oui.
00:06:41 :Il fait un digwriter.Ouais.Il faut que tu...Toi, t'es pas sur un digwriter ?Non.Non, non, non.Ok.Il passe pas pareil.Je suis sur un writer classique.
00:06:50 :Ok.Il est sur...Alors, moi, en général, j'avoue que quand je fais...J'ai besoin de CSV.J'en ai eu besoin qu'une fois ou deux.J'ai toujours utilisé...
00:06:56 :Il est où ?Mon petit digwriter.Ça, j'aime bien.Ça, c'est pratique.Euh...Et, en fait, il envoie, du coup, avec son CSV file.Il y a ces files de names, ici, qui sont là.
00:07:05 :Ah, oui.D'accord.Il envoie ici, tu vois, name branchers.Et, en fait, après, il écrit, donc, le header.Et ensuite, depuis son objet digwriter, il envoie les datas.
00:07:15 :Et c'est une liste avec son dictionnaire.Ok.Bon, tu vois.Ouais, ouais.T'as une autre façon de faire, là.Oui, oui.Moi, j'aime bien parce que j'utilise le digwriter et j'adore cette classe CSV.
00:07:25 :Elle est pratique.Oui.Bah, je vois, oui.Voilà.C'est l'idée de scanner avec une boucle FOR.Ok.Ouais.Parfait.Bah, merci.Excuse-moi.Quelle classe, tu dis ?
00:07:38 :Excuse-moi.Quelle classe t'as dit que t'aimais bien ?Euh...Digwriter.Digwriter.Avec...Ah, d'accord.Ah, je ne connais pas.Ok.C'est digwriter.Euh...Elle est où ?
00:07:50 :Elle est dans le...Digwriter.C'est dans Collection ?Non.Non, c'est dans CSV.C'est dans CSV.Ah.Ah, ok.C'est la classe.C'est celle-là.Ouais, j'aime bien celle-là.
00:08:01 :Euh...Bah, tu vois là.Donc là, il parait donc qu'il fait un write raw ici, ok, directement.Mais il utilise un CSV et tout à l'heure, il a fait un write raw directement, il a envoyétout.
00:08:13 :Ok, d'accord.Donc, tu vois, je connaissais le write raw, mais je ne connaissais pas le write raw avectoutes les lignes.Oui.Ok, c'est quoi ?
00:08:20 :On apprend tous les jours, comme quoi.Ouais.Ah, bah, merci beaucoup, Gabriel.C'est normal.Normal.Euh...Du coup...Du coup, du coup...Alors, attends.Qui c'est ?
00:08:30 :Ça, c'est JRCEL qui m'envoie un message.J'ai...Attends.Hop.Hop.JRCEL qui va peut-être venir.Impec.Aussi.Ok.Ok.Ok.Ok.Ok.Ok.Ok.Ok.
00:08:46 :Ok.Ok.Ok.Ok.Ok.Ok.Ok.Ok.Ok.Ok.Aussi...C'est pas grave.Alors attends, ça c'est bon, je vais peut-être couper mon...Je vais laisser mon...
00:09:00 :Mon...Mon navigateur ouvert, et puis je crois qu'il y a un truc que je voulais vous montrer d'ailleurs.J'ai complètement zappé.Euh, je ne sais plus.
00:09:10 :On verra.C'est pas grave.Je vais revenir sur mon navigateur.Euh, on va se la faire un peu à l'autre fois.On va regarder quelques petits concepts.
00:09:18 :Euh, Arcelle arrive.Je lui dis, on commence doucement.Ok.On va continuer.On va commencer.Hop là.Ok, c'est parti.Hop là.Euh...Je prépare encore la petite question de Toza.
00:09:31 :Alors, soit on commence par la petite question de Toza, soit on va parler d'un petit trucque j'aime bien, j'hésite.Est-ce que vous êtes habitué, vous, vous connaissez bien le UNIX avec les packagesou pas, putain ?
00:09:53 :Euh...J'ai déjà pratiqué, mais en fait, ce que je ne sais plus trop, c'est qu'il y a unefaçon de déclarer est-ce qu'il est accessible ou pas.
00:10:09 :Oui.Ok.Et je ne sais plus trop, ce n'est pas le genre de truc que je fais tous les jours,quoi.Ok.Et Pascal, toi, le UNIX, tu le connais un petit peu ou... ?
00:10:22 :Non, que de façon théorique.Ok.Ça initialise.Ça ne crée pas forcément...Si, ça crée en même temps.Mais ça...Ok, alors.Avec les packages, en fait.
00:10:31 :Imaginez, là, vous avez un main, un fichier main.Ok ?Je vais vous montrer.Ça sera peut-être plus clair après la démo.Moi, je les utilise assez souvent, d'ailleurs.
00:10:42 :Je ne sais pas si j'ai...Alors, j'ai un exemple.Je ne sais pas.Alors, la pancourt, je ne peux pas la monter parce que c'est confidentiel, c'est pourune boîte.
00:10:49 :Mais la mienne, est-ce que je peux...Je ne sais plus si je l'ai fait dans la mienne.Est-ce que j'ai un exemple tout près dans la mienne ?
00:10:56 :Est-ce que là, j'ai le corps ici ?Je n'ai pas de...Après, des packages, on peut en trouver dans les applications de Django, mais...Si, tu as de l'unique, là.
00:11:05 :Ouais, ouais, ouais.Mais je veux un type que moi, j'ai créé moi.Bon, ce n'est pas grave.On va partir sur un exemple.Au pire, j'en ai un.
00:11:12 :Je sais que j'en ai un sur un fichier.Peut-être sur une ancienne application.Mais on va le faire comme vous voulez faire.On va le faire comme vous voulez faire.
00:11:22 :On va partir sur...les packages.J'ai créé un dossier tout à l'heure.Je n'ai pas eu le temps de le faire.Du coup, on va se le faire un petit peu à la main, là, en live.
00:11:32 :Imaginez, vous avez un...un mail.Voilà, peu importe.Vous allez avoir votre script.En fait, ça va être un peu votre point d'entrée.Vous allez voir tout avec des QT.
00:11:44 :Vous allez voir séparer les choseset avoir des fonctions dans des modules.Donc, je sais que moi, quand je bosse...Par exemple, je vais faire un projet de Django.
00:11:55 :Parce que 95% du temps, je ne fais que du Django.Je sépare bien les choses.Genre, il y a une application où j'avais besoin d'utiliser des filtres.
00:12:03 :Donc, j'ai créé un module juste pour les filtres.Imaginez, par exemple, qu'on va avoir...je ne sais pas, mon package.Merci.Je n'aime qu'à dire.
00:12:17 :J'ai eu mal aujourd'hui.Mon package.Et donc là, j'ai ici un dossier qui a été créé.On pourrait très bien avoir à l'intérieur...Je ne sais pas, allez.
00:12:30 :Je suis très créatif.Module 1.Et dedans, je vais avoir une fonction qu'on va appeler...foo1.On va rester basique, comme ça, ça va être bien pour l'exemple.
00:12:41 :Et là, on va print foo1.On va se faire un petit def foo2.Je ne vous cache pas qu'on va print un foo2.Voilà.Et pourquoi pas un troisième.
00:12:56 :Hop, def.Comme ça, je pense qu'on sera assez complet sur les exemples.Et là, on va print foo3.Voilà.Et ensuite, on va se créer un deuxième package qu'on va appeler...
00:13:10 :module 2.Encore très originel.Et là, on va print...notre foo4.OK, voilà.Donc là, on a un package avec trois fonctions dans le module 1,quatre fonctions...
00:13:27 :la quatrième fonction dans le module 2, on va dire.On va parler comme ça, en gros.Comme pour que ce soit assez parlant.Maintenant, si je veux accéder, du coup, à porter mes...
00:13:36 :si je veux importer mes fonctions dans le main ici,je peux faire from...mon package.Donc là, je ne pourrais pas faire import...foo.Ça ne passe pas.
00:13:49 :Là, je...foo1, par exemple.On va faire un test.Si je fais print...de mon foo1,hop,là, ça ne fonctionne pas.Il n'est pas importé.
00:14:01 :Donc, il faudrait que je fasse, en fait, mon package...foo1,module...1,import...foo1.Là, ça fonctionne.Il s'est bien printé.On voit bien mon écran, là.
00:14:13 :C'est bon ?Oui.C'est un peu le bordel.Je vais...on va faire un terminal.Donc, en fait, vous pouvez ici créer directement un package.
00:14:20 :Donc là,vous voyez bien la différence.Ici, je vais aller chercher directement dans mon...Donc là, ce n'est pas un package, du coup, en soi.
00:14:27 :Ce n'est pas encore un package.Mais je suis allé chercher directement ma fonction dans le module.On pourrait très bien faire autrement.On pourrait très bien dire, ici, dans mon package,avoir un fichierinit,comme ça.
00:14:41 :Voilà.Et maintenant, dans mon init,je peux faire un...Alors, on peut faire from.module1,import,et là, on importe tout.from.module2,hop, et là,on importe aussi tout,même s'il n'y a qu'une fonction.
00:14:58 :Donc après, si on voulait,pour être plus précis,on pourrait importer les fonctions un par un.Une par une, je veux dire.On pourrait faire import ou un pour deux, ainsi de suite.
00:15:08 :Là, j'importe tout.Hop.Voilà.Donc maintenant,il enregistre.Je vais accepter.Hop là,c'est ce qui va réussir à rejoindre.Je vais attendre.Salut, Arcel.
00:15:31 :Salut à vous.Bonjour, David.Salut, Arcel.Je ne t'entends pas très, très bien.Mais, Arcel, j'ai une question pour toi.Oui.Est-ce que tu utilises souvent les packages en Python ou pas ?
00:15:45 :Les packages ?Avec le init ?Avec le init ?Avec le init.Oui.Oui, j'utilise très souvent.Et encore plus,depuis quedepuis queM. Champouil a donné
00:16:06 :des cas d'utilité.J'ai très mal entendu la fin.Oui.Je disais,depuis queM. Champouila donnédes cas d'utilitédes cas d'utilitédu fichier initavec les packages,je commence àtrès souvent l'utiliser.
00:16:32 :Bien.Oui.C'était un peumâché, la fin.Mais, du coup,je disais, moi,les packages, du coup,je les utilise.Est-ce quet'en crées, du coup,des fois, toi-même ou pas du tout ?
00:16:47 :Personnellement,j'en crée aussi.T'en crées aussi ?T'en crées, toi ?Oui.Avec desprojets d'exercice, souvent.Et aussi,des projets personnelsavec Blanco.Oui, moi aussi.
00:17:07 :Je crée très souventdes packages.OK.OK.Non, mais c'était juste pour savoiroù continuer.Bon, je vais continuerlà où j'en étais.Parce que les packages,j'utilise beaucoup aussidans mes programmes.
00:17:18 :Donc,pour Pascal et JC,j'en étais où ?Donc là, oui,on a créé le init,c'est ça qu'on a fait,c'est la dernière chose qu'on a fait,je crois.
00:17:28 :Oui.C'est ça.J'ai créé le init.Tout à l'heure,j'ai importé comme ça.OK.Voilà,ça marche très bien,il n'y a pas de problème.
00:17:37 :Mais ce que vous pouvez fairemaintenant,c'est, en fait,from mon package,on peut faire importpoint.OK.Là, ça marche.En fait,il a réussi à trouver mon...
00:17:49 :Je n'ai pas importé le module.Ici,j'ai importé juste mon package,le nom de mon dossieret grâce au init,il a réussi à me trouver,en fait,la fonction fou1.
00:18:00 :D'accord,ça fait le lien,en fait.Oui,c'est ça,c'est vraiment votre point d'entrée,ici,ça fait le lien.Je ne me souviens plus,on l'a vu dans le cours,mais je ne me souviens plus.
00:18:13 :Qu'est-ce qui fait qu'un répertoireest un package ?C'est le fait qu'il y aun init.Voilà.Ah,c'est ça,c'est que ça,hein ?
00:18:23 :Quand il y a un init,c'est un package,quand il n'y en a pas,ce n'est pas un package.C'est ça ?Quand il y a un init.py,
00:18:32 :c'est un package.Si il n'y a pas d'init.py,ce n'est pas un package,c'est un répertoire,comme un auto.Ouais,en gros,c'est ça,ouais.
00:18:43 :D'accord,ok.Oui ?Ah,Snow,désolé,je suis en train de marcherquand je parlais,sinon je suis plutôt à la maison,hein ?Ouais,ça s'entend mieux,on t'entend beaucoup mieux.
00:18:56 :Ouais.Tout à l'heure,j'ai très,très mal entendu.Tu sais que je vais y répondreà la fin.Et,alors,du coup,ici,j'ai réussi à importer comme çadirectement mon package.
00:19:11 :Ensuite,même dans ce cas-là,je peux très bien faire ça.Ça fonctionne.Ici,j'importe tout,bien que ce ne soit passuper recommandé,parce que du coup,on importe vraiment tout,c'est ce qu'on importe à force.
00:19:22 :Mais imaginez que vous importez ça.Du coup,je peux très bien faireun port de fou 2.On est d'accord ?Un print.Et un print de fou 4,par exemple.
00:19:36 :C'est dans le deuxième module.Tout ça,ça fonctionne.Fou 1,fou 2,fou 4.Vous pouvez,vous pouvez dans votre init,en fait,faire quelque chosequi est assez sympa.
00:19:49 :C'est,ah,il y a du bruit.C'est utiliser la variable ici,All.Je ne sais pas si vous voyezoù je vais en venir.Alors,j'ai pris 1,2,4.
00:20:05 :Et on peut très bien faire,alors déjà ici,si je fais Allavec une liste vide,vous allez voir,normalement,je n'ai plus rien qui marche.
00:20:13 :Voilà.Là,je n'ai plus rien qui marche.Si je supprime All,ça fonctionne.Donc,je ne sais pas si vous voyezoù je vais en venir.
00:20:22 :Ici,vous pouvez très bien spécifierqu'il est possiblede n'importer que fou 1.Quand on importetout comme ça,vous voyez,il n'y a que fou 1qui est importé.
00:20:32 :Les autres ne fonctionnent pas.Ça va ou pas ?Oui.C'est ce que,oui,c'est ce que,c'est ce dont on parlaittout au débutque je ne savais plus trop faire.
00:20:41 :Voilà.Tu peux remontrer le,le All ?OK.En fait,le All,OK.Ouais.Alors,le All,en fait,ça va expliciter,c'est vraiment ce que tu vas importer.
00:20:54 :Donc là,en fait,je suis dans mon unit.Je suis dans le unit.Je spécifie All.Je dis que j'importe,je,je,je,entre guillemets,je,je,j'autorise à importer fou 1.
00:21:07 :Ici,j'importe tout.Là,je suis dans mon main.py.J'importe tout.Mais vu que je ne suis autorisé que fou 1,eh bien,les autres,les autres,ils ne sont pas autorisés.
00:21:17 :OK.Alors,après,tu pourrais toujours faire un truc.Ça ne t'empêche pas de faire ça.OK.Et d'importer.Et d'importer comme ça,de les nommer directement.
00:21:26 :Là,ça fonctionne.Donc,en fait,le All,ça bypasse,ça bypasse le,le All.Ouais.Le All n'est pas bloquant.En fait,vous pouvez le bypasser si vous importez un par un.
00:21:38 :C'est juste que si vous faites un,un,un,un astérix en disant,allez,hop,on importe tout,tout le package,euh,ici,vous allez être limité.
00:21:49 :Voilà.D'accord.Euh,j'ai passé un peu de temps là-dessus,mais,voilà,je voulais un peu montrer ce que faisait un peu le init,dans ces cas-là.
00:21:57 :Donc,euh,ici,j'ai vraiment importé,euh,ce que je voulais,en fait,avec ça.D'accord.Euh,ensuite,ben,après,tu pourrais très bien faire,si je ne te dis pas de conneries,même si j'ai un All,mon package,et ensuite,on pourrait faire un truc,genre,euh,mon package,
00:22:20 :point,point,mon package,voilà,comme ça.Tu sais,ça marche aussi.Donc,voilà.Oui.Sinon,Gabi,j'ai une question.Oui.Je pense que cette manière de,d'importer le seul problème,c'est,c'est,c'est,c'est,c'est,c'est,d'importer le seul problème et que,c'est pas recommandé.
00:22:45 :Oui.Je ne sais pas,je ne sais pas la raison pour laquellec'est pas recommandé.Ben,en fait,euh,ça peut être une question,en fait,de,de lisibilité en fait aussi parce que,euh,comment dire ?
00:23:01 :En fait,quand tu importes comme ça,le problème,c'est que tu pourrais avoir en fait un,je sais pas,plusieurs modules,je sais pas,plusieurs modules dedans,comment dire ?
00:23:14 :Je pense que,imagine,donc déjà pour aller,tu ne sais plus trop ce que tu importes,en fait,tu importes tout,mais tu ne sais pas exactement ce que tu importes.
00:23:21 :Que quand tu importes vraiment les choses que tu veux,déjà,donc première chose,si tu fais ça,là,tu sais ce que tu importes.Toi,avec Django,je ne sais pas,perso,ça ne m'est jamais arrivé de faire from,euh,Django point,je ne sais pas,autre machin,import asterisk,
00:23:39 :tu vois,et,enfin,je ne serais pas fan de ça.Et en plus,alors après,ça serait peut-être possible,mais dans un package,imagine où tu as un module,mais bon,ça serait un peu bête de faire ça,je pense.
00:23:53 :Non,ce que je dis,c'est bizarre,mais avec le même nom,mais non,non,je pense que ça,ce n'est pas l'une des raisons.Euh,ouais,moi,enfin,c'est surtout une question de,de savoir ce que tu importes,surtout.
00:24:08 :Niveau performance,je ne sais pas si ça joue énormément,mais c'est quand même bien de savoir ce que tu importes,mais en plus,imagine,euh,après,enfin,ce que je viens de dire,c'est bête,mais si tu as plusieurs modules,avec dans chacun des modules,une fonction qui a le même nom,
00:24:22 :ça pourrait venir l'écraser,mais,euh,ce n'est pas une raison.Ça serait bête d'avoir dans un package,euh,une même fonction,tu vois,avec un même nom,donc non,ce n'est pas une raison.
00:24:33 :Mais,euh,vraiment,tout,enfin,par exemple,ici,est-ce que j'ai un,un gros fichier,là,euh,un truc bien sympa,blindé de,de choses,tiens,Customers,si je vais dans Customers,euh,tac,là,ça va,mais tu vois,je ne me verrais pas faire un port à chaque fois,
00:24:57 :avec des,des étoiles,avec des astérisques,j'ai trop de,j'ai trop besoin de savoir ce que j'importe,pour savoir ce que j'utilise,tu vois,ça serait trop le bordel,sinon.
00:25:06 :Bon,je,je,je comprends carrément,et là,ça,ça devient plus question de lisibilité,et aussi,question de savoir,euh,ce qu'on importe,en fait,de ne pas,écraser au cas où on a,déjà,une fonction,ou,une méthode,qui a déjà le même nom.
00:25:25 :C'est ça,voilà,c'est ce que je voulais te dire,ouais,c'est,quand je te disais,si tu as des modules,enfin,si dans ton,imagine dans ton mail,ou dans un autre module,tu importes d'un module,une fonction,tu en as une,qui a le même nom,euh,dans ton fichier,
00:25:42 :putain,actuel,et que tu importes tout,d'un module,enfin,que ça vient écraser,après,c'est le bordel,quoi,c'est,je sais pas ce que je veux dire,euh,un package,avec un nom de fonction,dans ton fichier actuel,t'as un nom de fonction qui est la même,t'importes tout,
00:25:59 :par malheur,t'as un même nom de fonction dedans,et bah,tu l'écrases,quoi,et ça risque d'être,euh,je suis où ?Euh,mon thora,il est où, là ?
00:26:10 :Ça me fait penser,euh,un peu dans le même genre,j'avais,euh,quand on parle de la lisibilité,euh,j'avais sur,euh,Django,Django Rest Framework,j'avais un nom de,de fonction,qui était dans,euh,dans un certain modulede Django Rest Framework,ensuite,j'ai installé un,un,un,
00:26:31 :une,une librairie,qui s'appelle Django Rest Framework,qui s'appelle,euh,une librairie qui s'appelle Django Simple JWTpour les tokens,où j'avais importé,il figurait que dans cette librairie-là,il y avait une fonction avec exactement le même nom,et donc,là,je faisais,j'utilisais pas étoile,mais en fait,
00:26:50 :j'utilisais les imports automatiques de Django,avec de,à l'époque,de PyCharm,donc c'est,c'est pas la même chose,même problème,mais ça rejoint un peu le truc,et en fait,j'utilisais du coup les imports automatiques,et en fait,j'ai fait confiance,j'utilisais à PyCharm,j'ai compris,ça se faisait assez vite,
00:27:05 :et puis là,je me suis retrouvé avec un bug,j'arrivais pas à débugger,je comprenais plus,et en fait,au bout d'un moment,j'envoie tout mon code à,je sais plus,à Claude AI,à NIA,je dis là,je comprends pas,parce que ma fonction,je suis sûr de moi,
00:27:19 :elle fonctionne,ça a toujours fonctionné,et là,le truc qui me sort,en gros,c'est normal,en fait,vous avez importé la fonction de,de JWT,machin,au lieu de Django Rest Framework,tu vois,truc tout con.
00:27:32 :C'est ça,ça a importé dans la,dans le,du mauvais,de la mauvaise librairie,en fait,alors que ça avait le,exactement le même nom de fonction.
00:27:40 :Donc,ça rejoint un peu ce qu'on disait,là,sur les astérisques,quoi.Exactement.Donc,voilà,j'ai préparé des petites,oui,excuse-moi,Gabriel,oui,donc,finalement,oui,Marcel disait,c'est pas une bonne façon,alors,quelle serait la meilleure façon de faire,en fait ?
00:28:01 :Il est où,là ?Bonne façon de faire,ben,comme je l'ai montré avant sur mon projet Django,où,où ici,euh,t'as ton package,donc,t'as ton package qui est là,donc,imagine,même si t'as pas de hole,sans,sans hole,mince.
00:28:18 :Ici,y'a pas de problème,enfin,quand t'es dans un init,c'est moins embêtant,ça se voit plus souvent,limite,d'aller importer ce que t'as dans un module,dans le package,ok ?
00:28:28 :Donc,j'ai un package où j'importe tout ici.Là,c'est ce que je vais utiliser.Imagine qu'en plus,j'ai une fonction qui est,euh,fou,euh,un ici,là,je l'importe ici,tu vois,enfin,après,je,c'est pas,c'est pas génial,quoi.
00:28:47 :Euh,le mieux,c'est de te dire,donc,alors,moi,perso,quand je bosse avec Django,c'est comme ça,donc,j'ai besoin de quoi ?Je me dis,tu vois,j'ai besoin de tout en général,j'ai besoin de,aller,de fou 1,voilà,et puis après t'écris ton code,et puis c'est parti.
00:29:07 :Ah oui,tu lis tout ce dont t'as besoin,ok.Voilà,et puis là j'ai besoin de fou 1,et puis voilà,c'est tout.Oui donc d'accord,ok.
00:29:16 :Là,ouais ok,ça marche,mais euh,ça peut vite être un bordel.Moi,je me l'autorise,je me l'autorise au niveau du init,ici,de le faire ça.
00:29:26 :C'est le seul endroit où je le fais.Ouais,parce que,le package est énorme,oui,et qu'on a besoin que,juste,une petite fonction,ouais,du coup,en termes de,en termes d'optimisation de mémoire,c'est pas terrible quoi.
00:29:39 :Bah,euh,oui,si,euh,euh,c'est qui qui me disait ça ?C'était,même,bugdanics,je sais pas si vous le connaissez,sur le,si vous le connaissez un peu,sur le serveur discord,il m'a toujours dit,euh,par exemple,bah il m'a toujours dit,il m'a déjà conseillé,
00:29:58 :par exemple,j'imagine,même dans le mail,quand tu es dans un,quand tu importes,quand je faisais ça,par exemple,il disait,quand je commençais l'enseignement,il me disait,non,évite de faire ça,parce que,si je faisais un random,point,euh,random,par exemple,ou un randint,je sais pas,
00:30:18 :j'avais besoin de ça,il me disait,ouais,il fait,évite de faire ça,de tout importer d'un coup.Il me disait,non,ça t'importe,randint,tu vois,ça t'importe que ce que t'as besoin.
00:30:30 :Et,comme je disais,c'est exactement ce que,moi,perso,je conseille,alors il y a que peut-être,que pour datetime,où je le fais pas,parce qu'à chaque fois,je m'y perds,datetime,en général,j'importe tout,comme ça,je fais toujours mon petit datetime,datetime,point,datetime,point,machin,
00:30:51 :mais,euh,et encore,là,comme je l'ai montré ici,j'importe vraiment,même dans mes admins,ou dans les modèles,hein,j'importe que ce qui m'intéresse,dans chaque module,ou chaque package,quoi.
00:31:04 :C'est tout.Pas de plus.La visibilité,pour moi,c'est ce qu'il y a de plus important,là-dessus.Sinon,euh,ce serait trop,trop dur,il n'y a pas trop de choses.
00:31:15 :Euh,hop là.Allez,on va dépasser,c'est pas grave,on a commencé tard.Sauf si vous êtes pressé,c'est comme vous voulez.Je ne suis pas pressé, moi.
00:31:24 :Vous avez un petit peu de temps,encore ?OK,c'est parti.Euh,on va commencer par celui-là.Bon,allez,ça,on va commencer par celui-là.
00:31:34 :Je vous ai mis un petit quiz,là,sous les yeux.Oui,on voit ça.Ouais.J'ai mis la question,je crois,quasiment telle quellequ'elle est posée aux autres,aux As.
00:31:49 :Bien qu'elle pourrait porterconfusion sur une des réponses.Dites-moi si vous avezdes petites idées.Là,il y a plusieurs réponses possibles.Là,ça fait chier un peu.
00:32:15 :Non,je ne sais pas.Alors,est-ce qu'elle a des premières idées ?Ouais,moi,je dirais tous,sauf l'A.D.Tous,sauf l'A.D.?OK.Pascal et Arcel ?
00:32:47 :Euh…Pardon ?Ah non,sauf la B et la D,peut-être.Ah oui,le pass,oui,exact.Le pass,c'est pour du système.Pardon,la B et la D,effectivement.
00:33:06 :OK.Arcel,t'as dit quoi,toi ?Pour moi,comme réponse,je dirais que c'estA,C,et le E.OK.Intéressant.Autosa,je sais que celle-là,mais alors,moi,ça porte à la confusionparce queça,c'est une bonne réponse.
00:33:30 :OK.Bien que le Python pass,il faut le configurer avant,mais oui,donc oui,c'est une bonne réponse,oui.C'est juste qu'il faut penserà le configurer avant.
00:33:39 :Et l'autre bonne réponse,elle est où ?Là.Et la C,aussi.La C,c'est là où,quand vous allez installertous vos,avec vos keep install,c'est là où tout vase mettre dedans,en fait.
00:33:52 :Oui.Ça revient à le faire,le mettre manuellementici,mais comme le pass pointelà-bas par défaut,donc ça marche.Ouais.J'aurais un truc vite fait.
00:34:01 :OK,c'est bon.Tac.Donc,voilà.Donc,vous avez le Python pass.Alors,le Python pass,en fait,il faut le,il faut ajouter avantles chemins,en fait,dedans.
00:34:16 :Alors,sur Windows,je ne sais plus comment on fait.Je crois qu'il y a un menuexprès dans le démarrer.Je ne sais plusoù c'est avec Windows.
00:34:23 :Je ne sais passi il y en a qui le font.C'est dans les menusde paramètresqui s'appellent.Si,il variait de l'environnement,je crois.
00:34:31 :Ouais,c'est ça.Je l'avais fait une foisquand j'avais,au tout début,quand je me suis forméà Python,mais genre,vous pouvez le fairesur Linux ou Mac,c'est genre,vous allez faireet puis,là,vous allez fairevotre Python pathest égalet puis,vous allez envoyer
00:34:51 :votre chemin,en fait,dedans,directement.Voilà.Donc,bonne réponse.Donc,c'est bien cette Python path.Donc,il faut ajouter,en fait,il faut ajouter votre,il faut ajouter vos cheminset vous avez aussi,donc,le site packagequi est où,qui est la bonne réponse.
00:35:10 :Voilà.Donc,le E,ce n'est pas bon,alors ?Non,non,non,non,le E,ce n'est pas bon.Non,ce n'est pas,ce n'est pas un recruteurde basiquement.
00:35:25 :Voilà,par celle-là.Bon,ce n'est pas,si elle est intéressante,mais ce n'est pasce qu'il y a de plus fois,c'est bien si,il faut le savoir,mais bon.
00:35:35 :Il y a plus intéressant,là.Il y a des genres de chosesque j'aime bien.Mince,on m'appelle,après,tac.Alors,celle-là,je vous laisse réfléchirun petit peu.
00:35:47 :On nous l'a envoyé,je crois,hier,celle-là,non ?Tu l'as eu dans le,ah,je l'ai fait,oui.Ça me dit quelque chose,oui,je crois bien.
00:35:59 :Enfin,ce n'est pas grave,on va la refaire.Je l'ai mis,alors.Alors,c'est bon.Alors,hop.Tac.Excusez-moi.Je vous laisse,alors,je ne sais même plus la réponse.
00:36:36 :Je réfléchis aussi,alors.OK.C'est bon.Je crois que j'ai la réponse.Vas-y.Je pense que c'est F,parce que,j'ai le problème.Oui,parce que,on a déjàune affectation multiplede X,Y,Z,1, 2, 3,et du coup,parce que les variablesqu'on a donnéessont dans une
00:37:23 :mémoire globale.Si on crée une fonction,après,toutes les variablesqui sontdansla mémoire privée,sile nom des variablesavait déjà été affecté bienavant la mémoire globale,sera directementmodifié.
00:37:41 :Et du coup,on a affecté4 et 5pour X et Y.On garde ça comme valeur,et,ensuite, on affecte6 pour X.Donc, on garde 6,5,et 3.
00:37:57 :Alors,si t'as trouvé,pour toi,6,5,et 3.Et les autres,vous avez des idées,ou pas ?Oui,F aussi,pour questionde hiérarchie.
00:38:12 :Donc,on part du plus bas.OK.En fait,la fonctionbarre,elle est exécutéedans le fou.Oui,oui,oui.C'est une abricationde fonction,là.
00:38:27 :Oui,donc,tu vas appeler ton printqui sera fait,oui,c'est ça.D'accord.Oui,voilà,c'est juste pour direque ça,on va le printer,quoi.
00:38:40 :Oui,d'accord.OK.Et toi,tu as des idées ?J'ai un douteque les variablesne soient pas locales,en fait.J'ai un doute.En fait,en fait,ici,j'ai un douteavec la A,en fait.
00:39:00 :Alors,attends,la A,c'est où ?Qui reste,1,2,3,parce que les...J'ai un doute.La portabilité,effectivement,c'est le même nom.Donc,Marcel,je pense queje comprends sa démarche,mais je ne sais pass'il y a une certaineétanchéitéentrela variable localede fou
00:39:23 :et la variablelocaled'intérêt.Par rapportà l'espace global.OK.Alors,donc,la bonne,c'est bien la F.Attends,je vais vérifier avant,parce que c'est ce quej'ai trouvé aussi.
00:39:38 :Je ne sais plus.Merci, c'est ça.C'est la F.Ça me rassure.En gros,vous avez,en fait,ce qu'on appellele L-E-G-Ben Python.
00:39:48 :En fait,c'est dans l'ordreoù on va rechercherles variables.Donc,en fait,on va avoir le Let le L local.Donc là,on a le très bon...
00:39:58 :En fait,c'est bien parce qu'ils ontbien fait dans l'exercice.Je trouve qu'il est très bienparce qu'ils ont bien suivile principe de L-E-G-B.
00:40:04 :Donc,X,il est défini là.Il est à 1.Mais il est aussiredéfiniicioù il est à 4.Mais il est aussiredéfini icioù il est à 6.
00:40:15 :Donc,si on fait un print de Xici,on est vraimentdans le local.Donc,dans le L.Ensuite,vous allez avoir le E.Donc,L-E-G-B.
00:40:27 :Vous allez avoir le E.Le E,c'est ce qui s'appelle çaenclosing,englobant.Donc,on va aller chercher au-dessus.Donc là,le Y,il n'est pas là.
00:40:37 :Mais le Y,il est icicomme ça.Bon,ils ont fait une association parallèleun peu pour direattention,on va faire un truc genre...
00:40:45 :On va essayer de vous mélanger un peu.Mais donc,le Y,il est là.Donc,on est dans l'englobant.Donc,là,on est dans le L-E.
00:40:54 :Ensuite,vous allez chercher au niveau du G.Donc,dans le global.Le Z,il n'est pas du tout dans la fonction.Mais,il est bien dans l'espace globalici,du module.
00:41:04 :Donc,c'est 3.Et après,le...Après,vous avez le Bqui estpour le built-in.Donc,c'est plussi vous avez une fonction...Ça,c'est built-inparallèle en pleine.
00:41:18 :Voilà.Mais là,dans notre cas,ce qui nous intéresse,c'est vraiment le L-E-G.On est ici.On la trouve là.Y,on remonte.On la trouve là.
00:41:28 :Le Z,hop, hop,elle n'est pas là.Elle est ici.Voilà.Pour le principe,c'est bon du coup ?Oui.OK.Oui,c'est bon.Une fois que c'est compris,ça,c'est pas...
00:41:42 :C'est pas extrêmement sorcier,mais c'est...C'est quand même des trucsque souvent,les gens,ils hésitent,ils ne savent pas trop.Ça,c'est vraiment étanche,en fait.
00:41:52 :Ouais,parce que dans...Dans d'autres...Dans des programmes...Dans des...Certains programmes,ça peut vite être le bordel,après,si vous y perdez.Ça peut être compliqué.
00:42:03 :Dans le même genre,j'ai lequel ?Voilà,celui-là.Bon,allez,on va faire un simple.Simple ou pas,ça peut porter à confusion.On va faire celui-là.
00:42:13 :Je vous laisse lire ça.Alors,la bonne réponse,elle est où ?Non,non,non,non.OK,c'est bon.Réfléchis un peu.Ouais,quand même,un casse-tête.
00:42:42 :J'ai peur,j'ai mis l'enregistrement tout à l'heure.Ouais,j'aurais été dégoûté de l'avoir oublié.C'est bon.Non,tu l'avais fait.J'ai un doute.Dites-moi si vous avez une petite idée.
00:43:17 :C pour moi.OK.Pour moi aussi,je dirais C.OK.J'ai C,tu dis ?Pardon,j'avais muté parce que le téléphone sonnait.Oui,je dirais C aussi.
00:43:38 :OK,ouais,bon,exactement.Ici,il attend bien un petit paramètre.On a notre C qui est manquant.Pour que ça fonctionne,est-ce que vous avez une idéede comment on pourrait fairesans rien rajouter ici,juste en touchant à un élément ?
00:43:53 :On replace le C par un arg,non ?C,on met un étoile arg.C égale quoi ?A ou C égale quelque chose,oui,effectivement.
00:44:05 :On peut initialiser.Ici,comme ça,voilà,j'ai ma fonction,je n'ai pas d'erreur.Moi,ce que je voulais plus vous amener,c'est,on pourrait faire exactement ça.
00:44:15 :Et là,c'est bon,je n'ai pas d'erreur.OK,c'est là-dessus que vous voulez aller.Mais oui,on a mis le arg.Est-ce qu'on s'en fait un petit dernier ?
00:44:27 :Alors,est-ce qu'on part sur celui-làou est-ce que j'avais un truc en têteà vous montrer ?Pour vous,juste la portée des variables,ça va en généralou vous pensez qu'il faudrait le revoirà un prochain mentoratou au prochain mentoratsur la portée des variables ?
00:44:45 :Moi,ce qui me dérange à la portée,c'est quand on fait un read open d'un fichier.J'ai encore eu le casavec mon petit exercice sur le CSV.
00:44:57 :En fait,si je définis quelque chose en global,j'ai l'impression qu'en fait,la partie read open,c'est un monde à part.Ce qu'on y fait dedans,c'est un peu isolé.
00:45:24 :Alors attends,dis-moi juste ce qui t'embête.Je n'ai pas d'inspiration.Désolé,j'ai écrit oui.Sinon,tu reprends le codeque j'ai mis dans le Discordet puis on déplace des lignes.
00:45:38 :J'ai voulu le faire,mais je me suis ditjuste ce qui t'embête.On fait un read.Oui.Là,est-ce que là,il n'y a rien qui te...
00:45:51 :J'ai pas d'erreur.J'ai bien fait.C'est bon.Je n'ai pas oublié de lettre.Il n'y a rien.Voilà.Là,il y a un truc qui t'embêteou ça va ?
00:46:00 :Alors justement,le data,il est défini dans le blocread open.Donc,il est inconnu de l'espace global.Si,si,si,si,si,exactement,si,si.
00:46:17 :Là,avec oui,il n'y a pas de problème.C'est dans l'espace global.Je m'en doutais que c'est ça,quitte à l'être...Oui.D'accord.Bon,ok.
00:46:27 :Je ne sais pas.Je vais faire un truc.Regarde.Ok.Voilà.J'ai une boucle,mais moi,ma variable,j'ai accès de...Ma boucle,elle ne sert à rien.
00:46:39 :Elle sert juste à créer une boucle.Oui,oui.Donc,là,pareil avec une boucle,on pourrait se dire que vu qu'il y a une indentation,machin,on peut aller en bas.
00:46:48 :Donc,là,on va aller en bas.On va aller en haut.On va aller en bas.On va aller en haut.On va aller en bas.
00:46:55 :On va aller en haut.On va aller en haut.On va aller en haut.On va aller en haut.Une boucle,on va aller en bas.
00:47:01 :Une indentation,machin.Mais non,en fait,avec les WhisOpen,c'est pareil.Quand tu as un WhisOpen,tu as accès à tes datasque tu as une récupérée dedans.
00:47:10 :Tu as accès en dehors du WhisOpen.Il n'y a pas de problème.D'accord.Ok.Je ne sais plus.Il y a quelqu'un une fois qui me disait d'aller dans une boucle.
00:47:16 :Mais si.Une boucle,c'est pareil.J'ai une variable.C'est bête comme exemple,mais je l'ai accès en dehors de la boucle.Tu es en dehors.
00:47:25 :Voilà.Ok.Merci.Des fois,c'est bien de trouver des petites choses comme çaparce qu'on a toujours des petites doutes.C'est le genre de truc.
00:47:35 :Je pense qu'on se fera le prochain Mentora Tosa.On se fera un petit gros rappel un peu sur des...On l'avait fait une fois sur des variables globales il y a un moment.
00:47:50 :Oui.Je pense qu'on va le refaire.Allez,on va finir par ça.Là,j'ai l'impression d'être en goût.Attendez,je relis.Celle-là aussi,tu l'as envoyée.
00:48:28 :On l'a eue hier.Oui.Ok.Je voulais l'avoir aussi en Mentora.C'est pour ça.Donc,c'est pas forcément...3,6.3,6.3,6.Donc,c'est l'acé.
00:48:43 :Je ne sais pas.Tu as dit l'acé.Ok.Qui d'autre ?Non,là,0,0.Ok.Moi,je diraisl'acé.Genre,3 et 6.Ok.
00:49:00 :Alors,vous êtes prêts ?Allez,moi,je réponds aussi.C'est 0,0.Alors,pourquoi ?C'est pour ça qu'on va revenir un peu sur...Je pense qu'au prochain Mentora,on va revenir dessus.
00:49:14 :Ça,c'est un truc qui trompe beaucoup les gens.En fait,là,on a bien une fonctionqui va aller...On va l'envoyer en un compteuret on va l'incrémenter de 3.
00:49:26 :Là,on a une liste.Ici,on a notre variable counter qui est à 0.Donc,quand vous faites ça,la fonction incrémente.Ici...Ah,le def n'a pas de return.
00:49:40 :Ah,oui,d'accord.Alors,attends.En fait,non.Alors,ici,en fait,on va chercher un...Voilà,chercher un entier.Donc,on est sur un...C'est un objetqui est immuable.
00:49:57 :Je ne trouvais plus le nom.Immuable.Ici,counter.Donc,en fait,quand tu envoies icicounterdans la fonction,si tu fais ça,tu vas simplement créer,en fait,un nouvel objetavec,en fait,la valeur,ici,3.
00:50:19 :Donc,ce qui veut dire quetu as beau faire un...un incrément ici,tu envoies counterdans ta liste,tu refais un incrément,tu envoies counter,mais en fait,ici,ton counter,il n'est pas changé.
00:50:31 :C'est toujours 0.Hum hum.Euh...Je vais tester un truc.Euh,comment...Non,je ne pourrais pas faire ça.Euh...Ah bon,ça ne marche pas, ça ?
00:50:43 :Global ?Non.Euh...Euh...Qu'est-ce que j'ai fait ?Qu'est-ce que j'ai fait comme connerie ?Si je fais mon global,j'ai mon counter,ok, ça c'est bon.
00:50:53 :Euh...Si on est global counter,il ne faudrait peut-être pas l'envoyer...Attends,si je fais ça,voilà,pas l'envoyer dans le...dans la...Ah,merde,dans les paramètres.
00:51:08 :Euh...Sinon,si je l'enlève...Attends,c'est bizarre,si je l'enlève dans les paramètres,ça ne le prend pas,counter ?Si je le exécute ?
00:51:17 :Ok, et si je l'enlève ?Il dit qu'un messageest paramétré en global.Ouais,ouais, ouais, ouais,et en fait il ne veut pasquand c'est paramétré global.
00:51:25 :Tu vois,moi j'avais oublié,donc en fait,de toute façon global,je l'ai utilisé pour l'exemple,mais je ne l'ai jamais utilisé en vrai.Ah oui,il faut enlever les arguments.
00:51:35 :Hop là.Tac.Tac.Hop là.Voilà.Donc là,on a bien 3 et 6,on travaille sur une variable globale,et vu qu'il nous trouveune variable globale,il va aller nous l'incrémenter,c'est ça,il va nous faire un plus 3,et après il nous refaitjustement un plus 3,
00:51:56 :voilà,c'est ça.Donc là,ça va marcher.Bon après,global,perso,je n'ai jamais vuquelqu'un le faire,et je ne sais passi...Enfin,c'est le piège en fait.
00:52:09 :C'est à manier avec prudence.C'est un peu piège,donc voilà,je vous l'ai montré,maisje ne suis pasun fou de global,moi je n'ai jamais utilisé,je n'ai pas encore eul'intérêt d'utiliser,et j'ai du mal à voirquand je pourrais avoirun intérêt d'utiliser,mais ça existe.
00:52:23 :Voilà.Donc voilà,comme c'était,on était bien sur 0,0,voilà.Et donc voilà,pour ça.Je ne sais passi le prochain mentorat,parce qu'en faitil y a plein d'exemplesavec ça.
00:52:35 :Je ne sais passi j'y sais,on en avait fait unil y a longtemps,mais un mentorat,mais il y a quand mêmelongtemps,c'était au débutquand tu es arrivé,sur ce principe-là,mais je pourrais peut-êtreen refaire un,prendre à peu prèsles mêmes exemplesavec tous les gens
00:52:50 :qui passent le TOSA,voir pour leur montrerpeut-être un petit peuce qu'on peut faireavec les variables locales.Donc si ça vous intéresse,je pourrais en reparlerrapidement la prochaine fois.
00:52:58 :Oui,je comprends,regardez.Ok,ça c'est bon.Ok,ça c'est bon.Ok,ça c'est bon.Ok,ça c'est bon.Ok,ça c'est bon.Ok,ça c'est bon.
00:53:13 :Ok,ça c'est bon.Super.Donc voilà,est-ce que vous avezdes questionsou ça va ?De mon côté,ça va.Oui,ça va,Tim.
00:53:25 :Ça va,merci.On a passé le tempssur les packageset les Unix,mais...Oui,c'était bien.C'est pratique.Franchement,c'est un trucque j'utilise tout le temps,tout le temps,dans les programmes,tout le temps,énormément tout le temps.
00:53:41 :Ah oui,il y a un truc sur les packages,à un moment donné,c'est affiché des nonnes.Pour quelle raison en fait ?C'est à cause du print.
00:53:47 :Le print,il t'a envoyé un nonne ?Non.Pourquoi,quelle raison ?Ah,oui,oui,oui,non,en fait,alors attends,je retourne rapidement dessus.
00:54:00 :Je sais pas si tu l'as gardé,oui.Oui,j'écris n'importe quoi,mais oui,je l'avais gardé,il y a quoi actuellement ?Il y a tout,ok.
00:54:09 :On va ouvrir icijuste ma fonction fou 1.Imagine,je définis une fonction iciqu'on appelle justement fou 1.Ok.Je faisais quoi tout à l'heure ?
00:54:18 :Ah,voilà,je faisais un print.Le print fou 1,t'as marqué,oui,c'est ça.Pour l'instant,on fait ça,ok.Là,je vais faire un printde fou 1.
00:54:31 :Ok.Ça m'affiche nonne.Ah,ok,oui.Ok.Ensuite,si je fais ça,est-ce que t'as compris ou pas ?Ah,oui,parce qu'il y a le return.
00:54:43 :Donc,dans l'autre cas,on n'avait rien à récupérer,en fait,oui.En gros,oui,c'est comme si,donc,on avait le print fou 1et c'est comme sion faisait un return nonne.
00:54:55 :Là,si je fais ça,c'est exactement l'intérieur.Oui,c'est ça,l'absence de return,c'est un nonne.Donc,là,si je fais ça,c'est exactement l'intérieur.
00:55:06 :Ah,oui,exactement,c'est un nonne,ok.Voilà,et là,on a pareil,voilà.Ouais,ok.Ok ?Voilà.Ok,ça marche.C'est bien de clarifier ces choses-là,parce que,moi,c'est le genre de truc,tu sais,quand j'ai commencé au début,j'en souviens,je,des fois,je ne comprenais plus et tout,
00:55:31 :et c'est,après,en fait,quand tu les connais bien,ces choses-là,ça explique beaucoup d'autres choseset je ne sais pas si ça vous va,mais,du coup,on a fait un montoir un peu plus long,c'était sympa.
00:55:42 :Oui,c'est bien.Et puis,s'il n'y a pas de questions,je vous dis,à la semaine prochaine.Ok.Il y a Stéphane,qui va revenir sur le graph,mardi soir.
00:55:52 :Oui.Ça va être rigolo.Bien,oui.Prenez un Doliprane,avant d'y aller.Oui,oui,oui.Non,parce que,j'ai regardé,là,la réponse,j'ai vraiment,franchement,enfin,moi,je,en ce moment,il y a des graphes,des graphes qui sont un peu complexes.
00:56:14 :Oui,c'est des patterns à connaître,en fait,mais,la question que j'ai,est-ce que,est-ce que vous allez refaire,au moins,une fois dans votre vie ?
00:56:23 :Voilà,je ne sais pas.Oui,alors,après,la limite du truc,c'est,par rapportà l'examen,plutôt,c'est,à l'examen Python,est-ce que,enfin,moi,je me demandece que ça vient faire,là,quoi.
00:56:42 :C'est de l'algorithme,c'est,je ne sais pas quoi,mais,tu vois,c'est,oui,oui,c'est pour ça,en fait,je pense que le mieux,c'est de passer du tempsà bien comprendrece qu'on a vu,là,toi,ce que Pascal se disait,par exemple,sur les primes,quand elle est non,
00:57:02 :sur ce qu'on a vu,donc,dans le scope local,après,en global,tout ce genre de choses,en fait,sur la portée des variables,où les algossont vachement utiles,par contre,tu vois,il y a des algosque j'ai missur le docstring,sur Toza,c'est,genre,il y a le fizzbuzz,
00:57:21 :où tu as une listeavec,genre,1,2,3,il y a une chaîne de caractères,après,c'est 5,6,donc,je ne sais pas si vous voyezlequel c'est,celui-là.
00:57:36 :Oui,ça me dit quelque chose,oui.Bah,en gros,c'est pratique,ce genre de choses-là,c'est des petits exercices,genre,de toute façon,tous les algosqui sont sur le docstring,celui-là,et d'autres qui sonthors Toza,sont vachement pratiques,parce que,moi,je vois,là,j'ai une application,
00:57:57 :et,en fait,c'est des mini-algos,c'est,dans mon équipe,dans le mode où je suisle seul back-end,et,en fait,j'ai une autre personnequi bosse en front,et,en fait,la personne en front,elle va m'envoyerdes paramètresd'URL,et,moi,du coup,j'ai créé un petit algo
00:58:18 :qui va me parserles paramètres d'URL,donc,par exemple,c'est une boucle,c'est même pas,c'est genre,if,ce caractère est dansle paramètre d'URL,en gros,tu fais ça,et,les petits algos comme ça,ou qui sont pas très longs,ou qui sont pratiques pour parser,là,c'est vachement intéressant,
00:58:36 :je trouve,et encore,j'appelle ça algo,mais,ça va être des boucles fortesqui vont réussir à traiterune liste,ou traiter une chaîne de caractères,enfin,un genre de choses-là,quoi.
00:58:47 :Tu utilises les regex,du coup ?Quand je peux éviter,je l'évite,si je peux être honnête.D'accord.C'est con,c'est puissant,mais c'est bien de les connaître,c'est puissant,mais je pense que j'ai une énergieOui, justement,une question,une question hyper générale,à propos de,les regex,
00:59:04 :on a besoin de connaître,ou pas ?Oui.Parce que,sans Z,c'est pas évident,on peut pas tout mémoriser,c'est impossible.Ah non,non,non,mais,non,je suis d'accord.
00:59:18 :C'est comme le datetime,tous les paramètres,bon,on peut pas mémoriser ça,c'est pas possible,ça sert à rien,en plus.Datetime,là,j'arrive à me débrouiller,presque de tête,avec tout ce qui est dedans,parce que,je l'ai déjà utilisé,plein de fois,pour une application de Django,
00:59:34 :d'ailleurs,j'ai pas eu le choix,mais,si tu l'utilises jamais,j'avoue que c'est pas facile.Ah,mais,non,mémoriser,c'est pas instinctif,ce truc-là.Mais,après,on peut toujours,il y a eu plusieurs mentorats,sur datetime,où,tu peux toujours te créer des exercices,où tu peux te dire,
00:59:53 :créer un objet de date,au format ISO,après,je veux dire,il y a des pourcents,quelque chose,il y en a,qui sont pas,genre,numéro de semaine,enfin,il y a,et on peut pas les retrouver,avec un dire,un help,ces trucs-là,lorsqu'on en examine,on peut pas.
01:00:11 :Tous les formatages,avec les pourcents,non,tu les auras pas,non,de tête,je les ai mis,mais,alors,je te dis juste comme ça,un truc assez,qui pourrait pas être assez logique,alors,tu as,pourcentage M,pour le mois,pourcentage Y,pour l'année,Y majuscule,c'est l'année avec les 4 chiffres,
01:00:31 :Y minuscule,c'est l'année avec les 2 chiffres,tu vois,donc,day,month,year,déjà,t'as ceux-là,t'en connais déjà une bonne partie,et les minutes,et les minutes,c'est M,c'est pas M,là,on était sur du minuscule,day,month,year,sauf le year,si tu le veux,avec les 4 chiffres,
01:00:53 :c'est en majuscule,heure,minute,seconde,et là,tu passes tout en majuscule,pourcentage H,pourcentage M,pourcentage M majuscule,pourcentage S majuscule,heure,minute,seconde,voilà.
01:01:07 :Ah,ok,d'accord.J'ai le fait de tête,mais j'ai pas une connerie.Ouais,d'accord.Ouais,c'est ça.Ouais,ceux-là,on peut les retenir,oui,voilà.
01:01:21 :Après,le numéro de semaine,pourcent W,pourcent W,j'imagine,quelque chose comme ça.Alors,je ne sais plus si ça existe,ça,ça ne me dit rien,mais en tout cas,il y a une fonction qui s'appelle,comment,il y a des ISO weekdays,ou des weekdays,c'est weekday,
01:01:37 :je crois.Stein Method,ça fait le weekday,il me semble,de tête.Et ça te retourne,en fait,le,ah non,non,excuse-moi,oui,c'est pas le numéro de semaine,weekday,c'est le numéro du jour de la semaine,il n'y a pas de problème,un accès dans Google,on a la réponse immédiate,
01:01:55 :il n'y a pas de souci,mais lors de l'exam,on ne l'a pas,on n'a pas envie de retenir ça.Ouais,je sais,au moins pour l'exam,ça peut être pas mal.
Aucune occurrence trouvée pour « ».
00:00:35
Problèmes dans le fichier CSV
00:02:15
Considérations sur le CSV et suggestions
00:04:08
Discussions sur Python Standard Library
00:09:45
Exploration des packages et du fichier init.py
00:11:20
Définition des fonctions et gestion des imports
00:18:22
Questions sur l'utilisation des packages
00:32:00
Quiz sur la portée des variables
00:47:00
Résolution des exemples sur la portée des variables et implémentation