Session du 16 février 2023 à 20h00
Bases du Langage
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
Bases Python appliquées avec Matplotlib
Découvre ou révise les bases de Python à travers un exercice guidé utilisant Matplotlib et plusieurs notions essentielles du langage.
00:00:00 :Salut Fernando!En attendant que les gens arrivent je vais montrer le programme un peu.En même temps le mec a envoyé Thibault, on l'a reçu.
00:01:02 :Salut Yannick!Bonsoir Mbessa Daniel!Salut Christian!Salut Seb!Bon ça commence à se calmer là les idées, ah non ça continue.Ça va et toi?
00:02:41 :Bon je pense que je vais commencer, je vais retirer ma caméra.Ah on a pas de soucis.Il y a encore quelques personnes qui arrivent.
00:03:07 :Je ne sais pas si vous avez pu voir le mail de Thibault qui est arrivé tout à l'heure.Dites moi dans le chat si vous l'avez vu ou pas.
00:03:17 :Donc là vraiment l'idée c'est de faire, déjà de base, de toute façon le jeu de l'histoire normalement les sessions sont orientées débutants.En fait je m'efforce quand je montre des trucs, même si c'est des frameworks ou des choses comme ça qui ne sont pas forcément débutants,je m'efforce juste de montrer, pour montrer que ça existe et en fait même si vous êtes débutant,
00:03:38 :il ne faut pas avoir peur de ce qu'on montre même si c'est compliqué, c'est vraiment juste pour montrer ce qu'on peut faire.Et voilà parce qu'en fait si, je comprends bien qu'il y ait des gens qui débutent etc.
00:03:52 :Mais l'idée en fait c'est que, l'idée c'est vraiment pas de démantora surtout, c'est pas de refaire le cours qui est disponible sur la plateforme.L'idée c'est vraiment de voir des choses, donc après, parce que je veux dire c'est compliqué de faire des choses débutants tous les jeudis soirdans le sens où si je ne montre pas quelque chose de nouveau, j'ai peur que vous soyez vite ennuyé par la session du jeudi soir.
00:04:38 :Donc ça on entend bien et on va essayer de faire des choses plus débutants mais l'idée c'est quand même de pouvoir parler de choses dont on parle pas sur la plateformeou voir des choses un petit peu plus avancées mais c'est bien noté, on va essayer de vraiment rester plus débutant pour le jeudi soir.
00:04:57 :Et merci pour le retour qui a été fait, c'est important pour nous de savoir.Vous n'avez pas reçu le mail?Oui, c'est récent, regardez dans vos mails.
00:05:14 :Mais bon, en gros, c'était juste pour dire que c'était une session vraiment débutant et que voilà, on va essayer de faire ça simple.T'inquiète pas Salvatore, il n'y a pas énormément de détails dans l'email, c'était juste pour préciser que c'était une session débutant.
00:05:38 :Donc en gros, même si c'est une session débutant, je pense qu'on peut quand même voir des choses intéressantes.En fait Yannick, normalement je mets le programme dans l'onglet Mentora, sur le planning, et je le rappelle toujours un peu dans le canal Mentora,je dis un peu ce qu'on va voir.
00:06:03 :Mais en fait, mettre des prérequis, je vois ce que tu veux dire mais ça m'embête un petit peu parce que si on met des prérequis à des gens qui ne les ont pas,qui ne maîtrisent pas ces prérequis, ils vont se sentir un peu exclus et ils vont dire je ne vais pas venir parce que je n'ai pas ce prérequis là.
00:06:20 :Donc si ça vous va, dites-moi si vous avez des propositions et puis Yannick, dis-moi ce que tu en penses aussi.Mais on va continuer à mettre le programme comme ça sur le Mentora, et puis voilà, comme ça, ça fait peur à personne,et puis au moins avec le programme, vous voyez un peu où est-ce qu'on va.
00:06:35 :Et si par exemple vous êtes trop avancé, vous dites bon, là si par exemple vous faites la formation depuis longtemps, vous êtes très avancé,vous dites bon, là si on va avoir des bases de débutants, je ne vais pas venir ou vice-versa.
00:06:46 :Donc là vous voyez le programme affiché, on a préparé un petit exercice qui permettra de voir un petit peu ces bases-là.Donc Matplotlib qui est une librairie pour faire des graphiques, les boucles, les boucles imbriquées, les context managers,les dictionnaires, les fonctions et l'utilisation de librairies externes.
00:07:17 :Salut The Crow, bienvenue. Salut Jean-Phi.Ok, du coup, ça c'est à peu près l'exercice qu'on va faire et les bases qu'on va revoir.Avant ça, est-ce que vous avez des questions? Je vois en ce moment il y a quelques questions par rapport à l'exécution du code dans VS Code.
00:07:41 :Est-ce que vous voulez revoir un petit peu les bases de l'utilisation de VS Code, le terminal, l'interpréteur, etc.Les choses qui sont différentes. Bonsoir The Crow.
00:07:56 :Dites-moi dans le chat si ça vous intéresse de revoir ça un petit peu dans VS Code, comment on fait pour créer un script, etc.J'ai vu plusieurs fois dans les questions, enfin je l'ai vu au moins deux fois, c'était sur le nommage du script.
00:08:12 :Vous voyez ici comment je défile. Par exemple, si je veux créer un nouveau script, ici je fais plus dans VS Code,et je tape le nom du script. Je dis mon script par exemple.
00:08:49 :Il faut faire attention, ça ça marche, mais il faut faire attention avec ce genre de nommage de fichiers,parce qu'en fait vous avez des caractères spéciaux et des espaces, et vous savez des fois quand vous êtes dans un script,vous pouvez faire un import, vous pouvez dire from le nom du script, import une fonction que vous avez définie.
00:09:09 :Bonsoir.Ici si j'avais écrit le nom de mon script comme ça, j'aurais dû faire from print Hello World.Vous voyez, ça va créer des problèmes. Par exemple, vous voyez ce que dit The Crow dans le chat, il y a des éditeurs comme PyCharm qui ne l'autorisent pas.
00:09:29 :La VS Code l'autorise. Si vous utilisez, je ne sais pas, Imax, Vim, Sublimetext, etc. Je ne suis pas sûr qu'ils vous empêchent,mais vous voyez que ça peut créer des problèmes. Donc vraiment, de base, n'appelez pas vos scripts de cette manière là,
00:09:50 :parce que c'est un petit peu problématique. Moi je ne mets jamais d'espace ni d'accent dans mes noms de dossiers, fichiers, je mets toujours,par exemple là si je voulais nommer mon fichier print Hello World, je l'écrirais comme ça.
00:10:06 :Vous voyez, comme ça je sais que je n'aurai pas de problème d'espace quand je vais appeler mon fichier, etc.Voilà, ça c'est juste un premier truc qu'on a vu par rapport aux questions.
00:10:19 :Voilà exactement, ça peut être une variable. Donc vous avez soit la camelCass, c'est-à-dire camelCass, je vais écrire ici.Si je voulais écrire print Hello World en camelCass, ça ferait print Hello World, en fait vous mettez une majuscule à chaque nouveau mot,ou sinon il y a le, je ne sais pas comment ça s'appelle, mais c'est le underscore.
00:10:52 :Moi je suis plutôt team underscore, mais voilà, lowercase, merci Jean-Phil.Voilà, donc ça c'était juste un petit aparté. On a préparé ce petit programme là, dites-moi si vous voulez commencer par ça,
00:11:10 :ou si vous avez des questions d'abord, parce que c'est la priorité à vos questions, donc si vous en avez, allez-y.Sinon je commencerai avec le petit programme qu'on a réfléchi.
00:11:25 :J'attends un petit peu que le timide se dévoile, s'il y en a.Pardon, vraiment soyez pas timide.Je peux poser une question? Vas-y, vas-y, avec plaisir. Bon, mais je ne vais pas écrire, parce que ça risque d'être long.
00:12:00 :En fait, et là, bon, je ne savais pas comment commencer, j'ai essayé d'écrire mon script,j'ai eu des difficultés à l'exécuter, mais alors que j'ai suivi tout depuis le début,je me suis dit comme cela, quand on est bloqué comme cela, il faut continuer, ou bien il faut revenir sur les cours,
00:12:30 :Est-ce qu'il faut retenir un arrêt pour voir si les conseils n'ont pas été oubliés, il faut continuer dans le cours?Ben non, franchement, je te conseille de, dès qu'il y a quelque chose que tu ne comprends pas, il ne faut pas,tu vois par exemple des fois on va sur internet, sur Google, on copie-colle un code qui fonctionne, ça marche,
00:12:50 :mais dès qu'on ne comprend pas ce qu'on fait, honnêtement déjà on ne retient pas du tout,en fait moi dans tout ce que j'ai fait jusqu'à maintenant, les choses que je retiens le mieux,c'est les choses sur lesquelles je me suis vraiment cassé les dents, que j'ai cherché moi-même et que j'ai finalement réussi par trouver,
00:13:15 :en fait un code que j'ai copié-collé ou même que ce soit dans mon boulot ou n'importe où,un truc que j'ai copié et que j'ai utilisé sans comprendre, je ne m'en suis jamais retenu,par contre quand tu vas creuser toi-même, déjà quand tu vas être à un problème,quand tu vas te confronter, tu vas dire je ne comprends pas et qu'après tu vas essayer dans ta tête de formuler la question,
00:13:35 :de dire pourquoi je ne comprends pas etc, que tu vas creuser, chercher, et quand tu auras la solution,cette solution là tu vas t'en souvenir, en tout cas ça marche comme ça de mon côté,mais je pense que beaucoup de gens sont pareils, c'est que tu vas beaucoup mieux t'en souvenir une fois que tu t'auras creusé par toi-même,
00:13:52 :donc premier conseil c'est vraiment si tu es bloqué quelque part, essaye de comprendre pourquoi tu es bloqué et voilà.Et ensuite l'autre conseil c'est que si tu es bloqué quelque part, tu es dans une communauté justement pour ça,n'hésite pas à poser des questions. En fait tu as plusieurs méthodes pour poser des questions,
00:14:12 :donc tu as les questions qui sont dans l'onglet questions de Docstring, tu as la communauté,où la communauté c'est plus comme un forum en fait, c'est moins pour des questions,enfin si c'est pour des questions, mais les questions sur la communauté, on garde moins la trace facilement sur les forums que sur les questions.
00:14:43 :déjà ça va t'aider dans la compréhension de ton problème. Et puis voilà tu avances petit à petit comme ça.Mais après je ne sais pas, c'est quoi les questions, je ne sais pas si tu as un exemple de question par exemple,un truc sur lequel tu étais bloqué là par rapport à la liste de courses, ou c'était plutôt sur une installation d'un logiciel,
00:15:09 :compréhension d'un concept, c'était plus quoi qui te faisait tourner en rond?Pardon, je disais la liste de courses. La liste de courses en fait j'ai pu arriver à, même si je n'ai pas trouvé,
00:15:25 :je n'ai pas écrit le bon script, mais j'étais sur la voie, et après bon ben j'ai continué, j'ai regardé disons la solution,et puis je voyais que je n'étais pas trop loin, et c'était sur le nombre de mystères, je ne sais pas par où commencer quoi.
00:15:58 :Et là je suis bloqué au début, et là je me dis mais dans ce cas je fais quoi, je regarde la solution, est-ce que c'est la meilleure manière d'apprendre,d'avancer ou bien?
00:16:11 :Bah imagine, attends je vais faire un truc, je vais aller là, imagine tu te dis, en fait tu vois, d'ailleurs c'est pour ça que Thibault il met des indices,tu sais que tu dois utiliser la fonction random de Python, en fait il n'y a vraiment pas de secret, même si tu es débutant, avancé ou expert,
00:16:34 :il y a toujours un moment où tu vas devoir aller chercher une documentation sur internet ou n'importe où, sur un forum,donc il suffit que tu tapes Python random, tu vas voir sur internet, tu vas tomber sur des choses un petit peu partout,donc là tu as la documentation officielle de Python par exemple, donc là tu trouves, en fait tu as des exemples d'utilisation,
00:17:15 :Bah tu vas creuser petit à petit dans la fonction, tu vas aller chercher integer between 1 and 10,et en fait petit à petit tu vas voir qu'il y a des solutions qui existent, donc là tu vois random rendit 1 à 10.
00:17:33 :Donc petit à petit tu vas creuser depuis différentes sources un petit peu partout et puis tu vas te faire ton script à toi.En fait je pense au début, si t'es vraiment bloqué, bah n'hésite pas à regarder la solution, elle est faite pour ça,mais essaye de chercher un petit peu, de regarder, tu regardes sur des forums, tu poses même sur les forums, tu vois dans la communauté,
00:17:55 :tu postes un message ici, tu dis, je dis une bêtise, bonjour tout le monde, je ne sais pas comment on fait pour générer un nombre aléatoire en utilisant random,et là tu verras que tous les gens vont te répondre ou ils vont te conseiller et personne ne va se moquer de toi.
00:18:12 :Si quelqu'un se moque, ce serait vraiment regrettable, mais personne ne se moquera de toi parce que tu poses une question.J'espère que ça répond un peu à ta question.
00:18:35 :Et un autre conseil aussi pour progresser, c'est, je trouve que c'est, enfin je l'ai déjà dit, mais c'est très très bien de suivre des tutos,des formations en ligne, etc. et c'est pour ça que Thibault il met aussi en ligne des propositions de projet,
00:18:49 :parce qu'en fait on apprend, la meilleure façon d'apprendre c'est de faire ses propres projets personnels.Donc là tu vois par exemple, on parle de random, imagine que tu veux créer un petit jeu le soir de Noël pour faire un secret Santa,tu sais, qui pioche qui pour faire un cadeau, tu peux dire, je me fais un petit projet où je me dis, j'ai une liste de personnes,
00:19:17 :et chacun tire au sort, donc moi je vais faire avec un script le tirage au sort de cette personne, donc aléatoire.Donc tu vois, tu peux t'imaginer des petits projets comme ça perso, qui te permettent d'utiliser ce que tu as vu,et le fait que ça soit pour un projet perso, tu seras plus enclin à chercher, tu vas moins abandonner, etc. parce que c'est un projet perso.
00:19:38 :Parce que si tu suis un tuto, forcément ça ne sera pas personnellement pour toi, donc ça va t'intéresser forcément un peu moins,et tu auras moins d'envie je pense.
00:19:47 :Mais c'est aussi un moyen de progresser, de se faire des petits projets perso, à quelques niveaux que ce soit,là on parle juste d'utilisation de random, un petit script, on ne parle pas d'un site internet, etc.
00:20:00 :Donc là je te parle vraiment juste d'une utilisation personnelle du script que tu pourrais avoir.Voilà Moïse, donc tu vois, il n'y a pas de questions bêtes.
00:20:11 :Rien que là, la question que tu as posée, regarde la réaction que tu as eue dans les chats,tout le monde te donne un peu des conseils de sa propre expérience, etc.
00:20:21 :Donc là c'est vraiment une bonne illustration de la bienveillance de la communauté, donc profites-en.OK.Salut à ceux qui arrivent.D'autres questions?Ouais, n'hésite pas Moïse.
00:20:48 :OK, bon ben...Excusez-moi, bonsoir.Bonsoir.Voilà, justement je revenais sur le projet de la liste de courses,et puis moi par exemple j'ai exécuté comme il fallait,et puis j'ai essayé cette fois d'utiliser une autre approche,cette fois-ci de ramener plusieurs éléments dans la liste avec la fonction Extend.
00:21:29 :Ouais.Donc après l'option suivante qui était de retirer un élément de la liste,ça ne le faisait pas puisque lorsque je lançais, j'essayais de retirer un élément de la listeet que je retirais, ça me disait qu'il y avait, le message qui s'affichait après me disait qu'il manquait,il n'y avait pas d'élément dans la liste.
00:21:51 :Et pourtant j'avais utilisé la fonction Extend, j'en avais mis plusieurs,et lorsque j'affichais la liste, les éléments étaient réellement rajoutés.Donc j'avais halté deux ou trois fruits, et puis quand il fallait les enlever,je voulais enlever un fruit des trois, et le message qui m'était retourné,c'était il n'y a pas d'élément dans votre liste de courses.
00:22:20 :Donc finalement, voilà, j'ai posé la question.J'ai eu des réponses, mais j'ai essayé, j'ai même renvoyé mon code,et je n'ai pas eu de retour satisfaisant.
00:22:36 :Ça me dit quelque chose cette question, attends je vais regarder.C'était il y a quelque temps déjà, c'est Daniel ton pseudo?Oui c'est Daniel.Je me souviens de la liste avec le Extend, contrôle de script,projet liste de courses, je l'ai.
00:23:11 :Ah oui, en fait la question elle a été clôturée automatiquement,parce qu'il n'y a pas eu de réponse à la fin.Est-ce que c'était bien ça, ce que tu vois à l'écran,c'était bien cette question-là?
00:23:34 :Oui.Ok, et du coup tu avais testé ça, ce que j'avais mis ici?Input, non, non, non.D'accord, ce que je vais faire, c'est que je vais réouvrir.
00:23:54 :Ce que tu peux faire, c'est que tu retournes sur cette question-là,et puis tu mets une réponse, tu dis ok je vais regarder,comme ça elle va se réouvrir, et puis tu me dis ce que ça donne.
00:24:06 :Ok.Parce qu'en fait je me souviens, j'avais vu dans ton script,le Extend ici, mais en fait ça ne peut pas fonctionner avec l'input,parce qu'en fait ton input, ici le input, ça demande,en fait ça prend la valeur que tu lui donnes dans le terminal,mais ça le stocke dans une chaîne de caractère,
00:24:31 :comme si une phrase ou une chose comme ça.D'accord.Et du coup tu ne peux pas rentrer ton item comme tu l'avais fait,et du coup je te proposais ici de rentrer plusieurs items,séparés par une virgule, et après ici on utilisait le splitpour séparer chaque item qui sont séparés par une virgule
00:24:53 :et les ajouter dans la liste.Ok.Donc tu peux regarder tranquillement la réponse,et puis tu nous dis si ça ne va toujours pas,on continuera à t'aider, il n'y a pas de souci.
00:25:04 :D'accord.Donc là, cette question-là, il faudrait juste que tu la réouvresen disant, tu réponds, tu dis ok je vais regarder,et ça va se réouvrir tout seul.
00:25:15 :Ouais, je vais faire ça.Je ne sais pas si je vais me retrouver.Attends, je vais t'envoyer le lien.C'était celle-là, je la mets ici.
00:25:42 :C'était la question 446.Voilà, je t'avais mise là.Donc tu n'as plus qu'à la réouvrir et puis tu nous dis si ça fonctionne,et puis si ça ne fonctionne pas on fera autre chose.
00:25:59 :Ok d'accord, je vais faire ça et merci.Avec plaisir.D'autres questions?N'hésitez pas, je vais commencer le petit programme,et puis si vous avez des questions, n'hésitez pas à m'interrompre,je m'arrêterai et puis on fera votre question.
00:26:24 :Alors, on va commencer, en fait je vais vous présenter un petit peuce qu'on va faire.J'ai trouvé, c'était un petit exercice que j'ai vu sur le brevet des collègessur une question de maths, mais bon je me suis dit,pourquoi pas utiliser ce petit exemple pour faire...
00:26:39 :Donc en gros ce qu'on va faire, on va créer une figure tout simplement.La finalité c'est de remplir un rectangle avec des cercles,et en fait comme vous le savez on ne peut pas trouver,je ne sais pas si vous connaissez ce problème,la quadrature du cercle c'est un problème vieux de l'antiquité grecque,
00:27:03 :il n'a jamais été résolu, c'est-à-dire on ne peut pas trouverune surface équivalente entre un cercle et un carré.Donc en gros l'exercice c'est de se dire, je me donne un rectangle,dedans je mets des cercles, et l'idée c'est juste de calculerla surface inoccupée par les cercles.
00:27:21 :Donc voilà, c'est un petit exercice.Et donc ce que je vous propose c'est que d'abord on trace cette figure,c'est-à-dire le rectangle avec les cercles dedans,et ensuite qu'on calcule l'air inoccupé par les cercles.
00:27:35 :C'est hyper simple, il suffit juste de calculer l'air du rectangle,l'air de chacun des cercles, et de soustraire les deux,et puis on a l'air inoccupé.
00:27:44 :Mais bon, moi ça me permet de montrer un peu les quelques trucs.Donc là ici je vous montre le script qui permet de faire le cercle,mais on va le tester ensemble.
00:27:53 :Donc en gros ici j'utilise la librairie matplotlib,qui est une librairie externe qui permet de faire des graphiques.Ici je crée le... c'est entre guillemets un peu, vous savez,
00:28:04 :comme si vous étiez un peintre, vous auriez besoin d'un cadre et d'une toile.Donc là en fait fig, c'est le cadre, c'est ce qui permet de définirl'objet dans lequel on va mettre la toile, et la toile ici ce serait axe.
00:28:20 :Et du coup après ici je définis juste axe, xlimit et ylimit,c'est juste les bornes de mon cadre,donc je dis qu'il fait 20, 20 par 20, parce que je dis moins 10 plus 10,et moins 10 plus 10 en largeur et en longueur.
00:28:37 :Ici c'est tout simple, donc ça c'est pour faire un cercle dans matplotlib.Donc je définis un cercle, je définis son origine,donc là je lui dis que je veux qu'il soit au milieu,donc 5, 5, ça je lui définis son rayon,et ici je lui définis sa couleur qui sera rouge.
00:28:53 :Et ici je vais juste l'afficher.Donc on va faire ça.On va commencer ici, donc là j'ai déjà fait,mais je vais le refaire de début, donc importmatplotlib.pipelot.addplt, ça ça va pour tout le monde?
00:29:19 :Dites-moi, je continue, mais vous me dites si jamais ça ne va pas.Je vais mettre plus gros.Ensuite ce qu'on va faire, donc on a dit, on définit notre cadre et notre toile,donc c'est juste plt.seplot, c'est ce qu'on a dit,
00:29:43 :je vérifie en même temps seplot, ok,je lui définis les bornes, on va dire axe.Et on va définir le cercle.Donc là c'est plt.
00:30:25 :Il y a un problème avec,il m'embête, on va voir ce que ça donne.Donc là avec l'autocomplétion, on va voir si ça marche.plt en show et run.
00:30:50 :Je me dis bien qu'il y a un problème.Ah c'est seplot.Ok.Il y a une part.Pourquoi il m'embête?Attendez, il y a juste un problème, je ne sais pas pourquoi.
00:32:10 :Est-ce qu'il faut refaire.patch,.circle ou un truc dans le genre?Ouais, attends, c'est ce que j'avais mis dans mon...Ah, il me manque le patch, ouais.
00:32:43 :Ok.Et donc là, pardon,je lui définis ses coordonnées,donc là c'est ses coordonnées x, y,je lui définis son rayon et je lui définis sa couleur.
00:33:13 :Ok, donc là vous voyez,il a tracé le cercle,donc là il fait moins 10, plus 10,donc si par exemple je l'avais voulu au centre,ici il suffit juste que je change les coordonnées.
00:33:27 :Là je relance,et donc là il est bien au centre,donc il est en 0, 0.Il a un rayon de 0, 5,donc ça fait un diamètre de 1,et il est bien rouge.
00:33:36 :Donc là maintenant,imaginons en fait,on veuille se dire,j'aimerais bien tracer tous les...En fait pour matplotlib,c'est une librairie externe,tu peux l'installer avec pip,donc attends, je vais te montrer.
00:33:53 :Pour installer, c'est pip install matplotlib,juste comme ça.Tu cliques sur enter,moi c'est pip 3.Moi il existe déjà,donc il me l'a réinstallé dans mon environnement global,mais en gros s'il existe déjà,il va te dire allready satisfied,mais si tu veux l'installer, ouais.
00:34:22 :Ok, donc là on a notre...Donc maintenant imaginons,qu'en fait ces cercles,on en veut plusieurs.Donc en fait, on peut faire une boucle.Donc là une boucle,je ne sais pas si pour ceux qui sont débutants,on peut juste dire for e in range.
00:34:40 :Donc là par exemple,on va avoir 10 cercles.Donc là on va se dire,au lieu d'en avoir qu'un seul,j'en veux 10.Et pour les positions,en fait on veut toujoursqu'ils soient sur la même ordonnée,donc qu'ils soient sur une même ligne,par contre on en veut plusieurs.
00:34:57 :Donc ici par exemple,si on dit i,on va voir ce qu'il dit.Si je fais ça.Et ici, en fait,il m'a tracé autant de cerclesque je lui ai demandé,donc là j'en ai demandé 10.
00:35:15 :Ici je lui ai mis i en variable,donc c'est ma variable d'itération de boucle.Donc ici x,vous voyez qu'il m'en a mis un là,en 0 du coup.
00:35:24 :0, 0, mais ça 0,c'est l'ordonnée que je lui ai donnée,donc c'est le y.Mais ici vous voyez qu'après,il va aller à 1,donc ici c'est le nouveau centre, etc.
00:35:35 :Donc voilà un peu comment on peut créerune boucle pour afficher plusieurs cercles.Donc là nous ce qu'on veut,c'est remplir toute la ligne.Donc en fait pour faire ça,je vais récupérer dans ma correction,je vais directement aller chercher ça.
00:35:57 :Je ne vais pas faire la deuxième boucle,ici on va juste mettre du coup en 0.Donc là on est comme ça,et maintenant imaginez qu'on veuille aussiremplir plusieurs lignes.
00:36:20 :Donc là je fais une boucle imbriquée,ici une range,donc là pareil on va en faire 10.Et là maintenant,en fait il faut bien indenter au bon endroit.
00:36:29 :Donc il va d'abord parcourir cette liste là,et ensuite pour chaque item i,il va parcourir la boucle j.Donc là si je lui dis ça,on va voir ce qu'il fait.
00:36:47 :Donc on va dire c'est j...Ah oui pardon.En fait vous voyez à quel point c'est important l'indentation.Ici je l'avais mis,mon indentation je l'avais mis ici,donc ça veut dire qu'en fait il m'a ajouté mon cercle uniquementà chaque itération de cette boucle là.
00:37:22 :Alors que si je le mets là,il va bien me mettre toutes les sphères.Vous voyez ici si je fais la différence,là si je le mets à ce niveau d'indentation,il va juste m'afficher mon cercle à chaque ligne ici.
00:37:39 :Si je peux vous montrer si vous voulez avec le debugger,comme ça vous voyez un peu ce qui se passe,et puis on utilise un peu le debugger.
00:37:49 :Donc je vais lui dire ici tu me mets...Ouais on va en mettre un là.Là en fait je mets une puce pour le debugger,c'est à dire je veux que tu t'arrêtes ici.
00:38:03 :Donc là je fais exécuter,donc là j'exécute le debugger,et donc ça veut dire qu'en fait à chaque fois qu'il va arriver sur i,il va s'arrêter et il va me demander ce que je veux faire.
00:38:12 :Donc là il a fait une première fois,et maintenant si j'avance,donc là vous voyez je suis à i égale 0, j égale 9,je continue parce qu'en fait il a déjà fait toute la liste.
00:38:24 :Attendez je vais refaire ici parce que j'aurais dû mettre mon...j'aurais dû le mettre ici.Vous voyez ici i égale 0,pour l'instant il n'a pas instantié j.
00:38:35 :Si je continue j'ai i égale 0,et maintenant j égale 0.Si je continue j égale 1.Donc si j'avance comme ça,j'ai i, il va aller jusqu'à 9.
00:38:44 :Et dès qu'il passe à 9,il a fini son premier, son niveau de boucle le plus petit,il repasse, il refait i égale 1.Et donc là il va repasser j à 0.
00:38:55 :Vous voyez j 0 1 et il va tout reparcourir.Donc là vous voyez ici si j'affiche en même temps mon graph,il me le fait petit à petit.
00:39:03 :Donc vous voyez,ça c'est un peu le principe des boucles imbriquées,à deux niveaux d'indentation.Vous voyez je continue,je ne vais pas aller jusqu'au bout,mais en gros il va faire comme ça jusqu'à 10 fois 10.
00:39:17 :Ok?Donc nous ce qu'on veut faire,c'est on veut remplir tout notre rectangle.Je vais ajouter ici,je vais vous mettre tout le script,et puis on va le voir ensemble,comme ça on va gagner un peu de temps.
00:39:37 :Donc en fait ici,vous voyez ici quand j'étais là,j'ai rentré un peu en dur mes données,c'est à dire que j'ai dit,je veux que mon rectangle aille de moins 10 à plus 10,en largeur et en longueur.
00:39:55 :Je veux avoir 10 cercles, etc.Donc je vous conseille de ne pas le faire comme ça,parce qu'en fait ça veut dire que là vous rentrez des données en dur.
00:40:05 :Et en fait ce qu'il vaut mieux faire,c'est comme ce qu'on peut faire ici,c'est de rentrer vos données en paramètres.Parce que ça veut dire que vous voyez ici,là vous avez toute la logique de votre code,donc là vous avez votre boucle,et ici vous avez votre donnée d'entrée qui est ici.
00:40:23 :Donc si jamais un jour vous voulez changer le rayon de votre cercle,ou la longueur du rectangle, etc.Vous pouvez juste le changer ici facilement,sans avoir à rentrer dans le détail de la logique.
00:40:34 :Parce que vous allez vous y perdre finalement.Donc là je vais juste vous expliquer,c'est exactement la même chose que ce qu'on a vu là,sauf que c'est un petit peu plus ordonné.
00:40:43 :Donc là on dit, imaginons que je veux un cercle qui fasse un rayon 0.5,je veux 5 cercles en longueur,et je veux 5 cercles en largeur.
00:40:53 :On va en mettre différents ici,pour que ça soit visible.Et donc du coup,pardon.Si je veux définir la longueur de mon rectangle,c'est tout simplement mon diamètre de cercle,donc c'est à dire 2 fois mon rayon,fois le nombre de cercles que je veux en longueur.
00:41:11 :Et pareil pour la largeur.C'est juste mon diamètre,fois le nombre de cercles que je veux en largeur.Ici ça vous l'avez déjà vu,donc j'instancie, j'initialise ma figure et mon axe.
00:41:25 :Et ici je définis les limites.Donc là les limites c'est simple,je lui dis que c'est,par exemple si mon rectangle fait 20,je veux qu'il aille de moins 10 à plus 10.
00:41:36 :Comme ça 0 sera centré,et pareil pour le Y.Et ça c'est ce que vous avez déjà vu.Donc c'est les deux boucles imbriquées.Donc là je parcours ici,au lieu de faire 10, 10 comme j'avais fait tout à l'heure,j'utilise mes paramètres,nCircleX et nCircleY,qui sont le nombre de cercles que je veux en ligne,
00:41:55 :et le nombre de cercles que je veux dans ma colonne.Et ici je trace,bon là c'est juste,j'ose pas appeler ça des maths,parce que c'est très simple,mais en gros,ça c'est pour que mon premier cercle commence tout à gauche,et qu'il finisse tout à droite de mon rectangle,
00:42:14 :et là pareil pour la largeur.Donc en fait,le centre de mon cercle,c'est exactement,par exemple si j'avais un rectanglequi fait 20 de longueur,je voudrais qu'il commence à moins 10,plus une fois le rayon de mon cercle,parce qu'en fait je veux que son centre soit bien positionné.
00:42:35 :Et ici vous voyez,je le multiplie par i,parce qu'à chaque fois je vais décaler sur la longueur.Donc je vais juste l'afficher,vous allez y voir plus clair.
00:43:04 :Là vous voyez,j'ai bien tracé mes cercles,d'ailleurs si vous voulez je peux même vous le mettre en débugger,comme ça vous allez voir,petit à petit la construction des cercles.
00:43:16 :Je fais ça.Donc là vous voyez,je suis arrivé,ici mon débugger,comme je lui ai mis une puce ici,pour l'instant il a juste appliqué le code qui va de là à là.
00:43:30 :Donc là il a juste, vous voyez,il a instantié ma figure,et si je vais voir dans les variables qui sont déjà accessibles,j'ai déjà nCircle,rayonCircle, etc.
00:43:42 :Donc là si je continue,donc là j'ai mon premier cercle.Comme je vous l'avais dit,le fait de faire ici,vous voyez j'ai i égale 0 et j'égale 0,donc si ici je remplace i par 0,je me retrouve avec la longueur de mon rectangle divisé par 2,donc ça veut dire que je pars d'ici,
00:44:01 :je vais là, divisé par 2,donc je me retrouve ici.Je lui dis plus rayon de cercle,parce qu'ici je veux que mon centre soit à ce niveau là,donc je lui dis en fait tu te places ici,et vous voyez qu'ici quand je fais plus 2 fois rayonCircle fois i,
00:44:15 :comme je suis à i égale 0,tout ça, ça dégage.Donc j'ai juste ça.Donc là je continue.Je continue et ça veut dire que i égale 0 et j égale 1.
00:44:27 :Donc i égale 0,donc là c'est toujours pareil,je suis toujours au même abscisse X,par contre mon Y que je l'ai descendu,et ainsi de suite.
00:44:37 :Donc là vous voyez je suis à j égale 2,et je suis toujours à i égale 0,donc je suis sur la première colonne.Si je continue, je vais passer à i égale 1,j égale 0,donc je suis sur ma deuxième colonne,et ainsi de suite.
00:44:51 :Donc là vous pouvez voir un petit peu aussi l'intérêt du débugger,ça permet de voir les choses visuellement.Ok, donc ça c'est la première étape de l'exercice,c'était juste de tracer un peu notre problème.
00:45:04 :Maintenant ce qu'on voudrait faire,c'est calculer l'aire du rectangle,donc c'est assez simple,l'aire d'un rectangle c'est juste la longueur du rectangle fois sa largeur,donc c'est ce que je fais ici.
00:45:14 :Et l'aire du cercle,c'est tout simple,c'est πr²,donc ici π,et ici mon rayon, et là le carré du rayon.Ok?Est-ce que ça va pour tout le monde pour l'instant?
00:45:28 :Dites-moi dans le chat.Ok.Donc juste ici,si vous avez vu la petite subtilité de π,en fait pour utiliser la valeur π,qui vaut en fait 3.14,
00:45:46 :j'utilise la bibliothèque NumPy.Donc ici NumPy,c'est un peu comme Matplotlib, c'est une librairie externe,et je l'utilise avec l'alias np.C'est vraiment très conseillé,quand vous utilisez des librairies externes,d'utiliser un alias,parce qu'en fait,quand vous allez dans votre script,et que vous voulez utiliser une variable,
00:46:08 :ou une méthode qui fait partie du module que vous avez importé,au moins vous savez de quoi il s'agit.Là ici, quand je vois np,je sais que c'est parce que j'ai importé mon module NumPy.
00:46:18 :Donc oui, c'est ça, environ 3.14.Donc par exemple ici, vous voyez,si je fais import NumPy as np,et si je fais np.py,j'ai la valeur en radian de π.
00:46:34 :π, comme vous le savez,c'est un nombre réel qui tombe pas juste.Il y a une infinité de chiffres après la virgule.Mais du coup, c'est pour ça qu'on utilise np.py,
00:46:46 :et non pas juste, on met pas ici juste 3.14.On pourrait le faire, mais c'est pas rigoureux.Ici on met np.py.Donc là, on calcule en fait,l'air d'un cercle, πr²,ensuite, c'est tout simple,l'air de tous les cercles,c'est le nombre de cercles qu'il y a,fois l'air unitaire.
00:47:11 :Donc c'est juste le nombre de cercles x,fois le nombre de cercles y,fois l'air d'un seul cercle.Et du coup, l'air qui se situe...
00:47:20 :Attendez, je vais relancer.Vous voyez, c'est tout simple.En fait, j'ai juste pris l'air de ce disque là,et je l'ai multiplié par le nombre de disques que j'avais.
00:47:31 :Donc là, j'avais l'air rouge.Et si je veux l'air blanche, il suffit desoustraire l'air du rectangleà l'air de tous les disques rouges.Et donc, on obtient ici l'air du videinoccupé par les sphères.
00:47:48 :Voilà un peu pour la position du problème.Et vous voyez quec'est pas horrible comme script,mais c'est pas terrible.Parce qu'en fait, j'ai un petit peu tout qui est...
00:48:00 :Bon déjà, ce qui est pas mal, c'est queon a nos variables d'entrée ici,et dans notre logique ici,on utilise bien nos paramètres,et c'est pas des valeurs qui sont rentrées en dur.
00:48:11 :Ce qu'on peut faire pour améliorer,donc ici, je vais masquer ça.Donc là, c'était pour vous montrer,pour faire une ligne de cercle,donc juste une simple boucle.
00:48:23 :Et si on voulait faire une ligneet toutes les colonnes, c'est les boucles imbriquées.Donc ça, c'est ce que je vous ai montré déjà.Ici, le calcul de l'air inoccupé,bon, c'était tout simple.
00:48:34 :Donc là, maintenant, qu'est-ce qu'on peut fairepour optimiser un petit peu notre code?Je sais pas si vous l'avez déjà vu,mais on a ce qu'on appelle les context managers.
00:48:43 :Un context manager, c'est quand vous voyezwith open, le nom de votre fichier,le mode d'ouverture,donc ici, le mode d'ouverture, c'est R pour read, en anglais.
00:48:53 :Ça pourrait être W pour write,pour dire, en fait, je veux écrire dans mon fichier.Là, moi, je veux juste lire dans mon fichier.Pardon.
00:49:04 :Donc en gros, là, ce que vous dites,vous dites, bah, j'ouvre mon fichier,qui s'appelle data.json, en mode lecture,et asf, donc ça, c'est pour lui dire, c'est un alias,c'est la variable que vous allez utiliserquand vous allez être dans votre context manager.
00:49:19 :Dans le context manager, vous êtes toujours avecun niveau d'indentation,et donc là, vous dites data égale json.loadf,ça veut juste dire que vous utilisez le module jsonet que vous chargez tout ce qu'il y a dans le fichier jsonavec tout ce qui est stocké f.
00:49:37 :Donc en fait, ça, c'est un stream,c'est-à-dire c'est la lecture du fichier json.Vous vous embêtez pas trop à...Ce qu'il faut juste comprendre ici,c'est que vous ouvrez le fichier en mode lectureet vous stockez tout avec le module json que vous chargez.
00:49:55 :Donc en fait, ça déjà, vous voyez ici,on va pouvoir, tout ce qu'on a mis là,on va pouvoir le mettre dans un fichier,on va pouvoir l'importer de cette manière.
00:50:08 :Là, j'enregistre, et aussi...Donc là, je vais vous montrer la version V2de notre script, en fait.Donc là, ici, vous importez votre data.Donc là, si par exemple, je vous montre juste une partie,si on copie ça,donc si je fais with open as fet que je fais data égale json.loadf,
00:50:36 :vous voyez, il me dit qu'il y a un problèmeparce que je n'ai pas emporté le module json,et là, qu'est-ce qu'il veut...Ok, ce n'est pas le bon...
00:50:52 :Et donc là, vous voyez, en fait...Bonne soirée, Simon, pas de souci.Là, j'ai importé mes data directement.Et donc ça, je trouve que c'est quand mêmeune méthode beaucoup plus classe,parce qu'en fait, ça veut dire que vos inputs,donc inputs pour données d'entrée,elles ne sont pas mélangées avec la logique de votre script.
00:51:12 :Et quand vous allez devoir imaginerque vous passez votre script à un collègueou à votre petite soeur ou à votre petit frèrequi ne connaît pas du tout Python,par contre, ça, un fichier JSON, c'est assez simple pour lui à lire.
00:51:24 :C'est un fichier texte.Donc si par exemple, lui, il dit,moi, en fait, je veux 10 cercles sur ma ligne,ici, il a juste à remplacer 5 par 10,et il n'a pas du tout à aller ouvrir votre code,à voir un interprète Python,un éditeur de code, etc., pour aller lire le code.
00:51:43 :Donc ça déjà, essayez de le faire le plus possible,de vraiment séparer vos données d'entrée de la logique.Et donc JSON, c'est un bon moyen pour le faire.
00:51:53 :Voilà.Donc ce qu'on fait là, on importe nos données.OK?Donc là, c'est très simple.J'ai juste importé le rayon du cercle,le nombre de cercles que je veux en longueuret le nombre de cercles que je veux en largeur.
00:52:07 :OK?Je les ai stockés dans un dictionnaire.Donc là, comme vous pouvez le voir, c'est un dictionnaire.Si je fais type data, c'est un dictionnaire.
00:52:17 :Donc un dictionnaire, c'est juste...Si je fais data, en fait, c'est une structure de donnéesqui contient des clés.Donc là, rayon n-cercle, x et y,et qui contient aussi...
00:52:33 :Je crois que c'est values...Ouais, des valeurs.Et vous pouvez même dire for id in data.items.Donc là, vous allez parcourir à la fois les clés et les valeurs.
00:52:50 :Print clé et...Voilà.Donc là, vous parcourez la clé et la valeur associée.Donc vraiment, quand vous faites un import avec JSON,vous avez accès à un dictionnaire.
00:53:03 :Donc là, c'est ce qu'on fait ici.Ensuite, on calcule tout simplement la longueur,qui est, comme on l'a dit tout à l'heure,le nombre de cercles fois le diamètre du cercleen x et en y.
00:53:15 :OK?Et après, qu'est-ce qu'on voit ici?R vacuum.Ce que j'ai fait, c'est au lieu de le mettre un petit peu...Vous savez...Je vais peut-être le splitter...
00:53:37 :Pardon.Vous voyez ici, tout à l'heure, c'était un petit peu à l'arrache.J'ai fait R vacuum, comme ça je l'ai mis dans mon script.Là, en fait, ce qu'on a fait, c'est qu'on a créé une fonction.
00:53:50 :Est-ce que les fonctions, ça va pour tout le monde?En gros, une fonction, ce qui n'est pas mal,c'est que vous pourrez la réutiliser autant de fois que vous voulezen changeant les paramètres.
00:54:01 :Donc là, moi, j'ai créé une fonction.Ici, qui prend en paramètre mon dictionnaire,qui stocke mes datas.Il prend une largeur et une longueur en paramètre.
00:54:12 :Donc maintenant, on va voir dans ma fonction,qu'est-ce que j'ai fait.Donc je lui ai dit bien data, largeur, machin.Donc là, je calcule l'air du rectangle.
00:54:20 :Je lui dis, c'est la longueur fois la largeur, ici, de mes paramètres.Donc là, c'est assez simple.Et ici, en fait, ce que vous voyez,c'est exactement ce qu'on a fait tout à l'heure,mais là, c'est dans une fonction.
00:54:30 :Donc ça veut dire que si, par exemple,là, R vacuum, vous voyez,si j'avais voulu calculer une autre R,j'aurais dû dire R vacuum 2.
00:54:43 :Et là, au lieu de faire R, mon rectangle,j'aurais fait 3 fois 4, par exemple.Donc j'aurais eu une autre R.Mais c'est un petit peu moisi,parce qu'il faut redéfinir comment on faitpour calculer une R, etc.
00:54:55 :Alors qu'ici, on a une fonction qui nous permet de le faire.Et moi, j'ai juste à changer, là, dans R vacuum,si je change, par exemple, je ne sais pas,si j'avais un autre fichier JSONavec d'autres types de data,et bien, je pourrais lui renseigner.
00:55:11 :Donc là, c'est pour ça,donc j'ai défini une fonction.Donc là, c'est OK, on est content.Et qu'est-ce que je voulais vous montrer d'autre, ici,en optimisation?
00:55:22 :Donc là, c'est pareil, en fait,au lieu de calculer...Enfin, c'est pareil, c'est une autre fonction,donc là, ce n'est pas intéressant.Ce que je voulais vous montrer ici,je l'avais déjà montré,c'est, vous savez, quand on fait des boucles imbriquées,comme on a fait tout à l'heure ici,
00:55:39 :ça peut commencer à être fastidieux à lire.En fait, ce n'est pas mal quand on débute,parce que ça permet d'avoir visuellement,de voir ce qui se passe,mais on peut utiliser ici,en une seule ligne de code,le product, qui est pareil.
00:55:52 :C'est une librairie externe,enfin, c'est un module,une méthode du module IterTools.Et donc là, en fait, ce qu'il fait,c'est qu'il va directement faire pour nousl'imbrication de la liste.
00:56:09 :Donc vous voyez ici,au lieu d'avoir plein d'étages différents,il va nous faire directement l'imbrication.Je peux vous montrer ici directement.Donc là, je vais lui dire...
00:56:44 :Là, on va mettre...On va mettre des professions, je ne sais pas...Maçon, électricien,et puis boulanger, et puis prof.Pour vous montrer ce que fait le product,en fait, ce qu'il fait,c'est qu'il va prendre parmi les deux itérables.
00:57:21 :Donc là, un itérable, c'est une liste, par exemple.Donc il va prendre dans cette liste-là,et il va aller boucler sur tous les éléments de notre liste.
00:57:29 :Donc là, il prend Jean,et il boucle sur maçon, électricien, boulanger, prof.Vous voyez? Maçon, électricien, boulanger, prof.Après, il passe au suivant.Donc Étienne, maçon, électricien, boulanger, etc.
00:57:40 :Donc là, vous voyez, en fait,c'est exactement le même comportementque ce qu'on a fait tout à l'heure avec le débugger,quand on a parcouru les différents éléments de la liste.
00:57:50 :À différents niveaux.Donc en gros, voilà ce qu'on a fait.Moi, c'est un peu comme ça que je fonctionnequand je dois créer un script.
00:58:01 :Je ne fais pas exactement comme ça,parce que quand vous pratiquez un petit peu,vous ne le faites plus.Mais souvent, je fais...Et puis même des fois, je n'écris même pas un script.
00:58:12 :J'écris, vous savez, ici, dans un interpréteur Python.J'écris un peu mes méthodes, mes fonctions,ce que je veux faire.Et après, j'organise tout en fonction.
00:58:23 :Vous voyez ici, je n'ai que des fonctions.Là, je définis mes entrées.C'est beaucoup plus propre que de le faire ici,où on balance tout d'un coup.
00:58:33 :Donc ce que je fais souvent,vous pouvez imaginer,j'ai une première version comme ça,où je sais un peu ce que je veux faire.Et après, j'organise tout en fonction.
00:58:40 :Après, j'organise tout en classe.Mais bon, là, on ne va pas rentrer dans le détail des classes.Non, c'est plus...Christian, pour ta question,le product, c'est plus rapide en temps d'exécution,mais la différence, elle se voit à partir d'un certain niveau.
00:58:57 :C'est-à-dire, si tu as vraiment beaucoup de listes,tu ne verras pas la différencequand tu feras le temps d'exécution.Par contre, quand tu commences à en avoir vraiment beaucoup,là, le product, il est important.
00:59:10 :Mais en fait, le principal,atout du product, c'est, imagine, là,si j'avais 20 listes imbriquées,j'aurais 20 étages différents, tu vois.J'aurais 4K, in, machin.
00:59:22 :Alors qu'avec product, j'ai juste...j'ai juste une ligne.Je n'ai pas besoin d'indenter, etc.Donc, il est surtout là, l'intérêt de product.Mais effectivement, c'est plus...
00:59:33 :c'est plus optimisé, product,que les boucles imbriquées.Voilà, je sais...c'est un petit peu...c'est ce que je voulais vous présenter.Donc, attendez, je vais voir sur le programme.
00:59:47 :Donc, on a utilisé le contexte manager,stockage données dans un dictionnaire.Donc, on l'a fait.Création de fonction, c'est bon.On a utilisé le contexte manager.
01:00:00 :On a utilisé le contexte manager.On a utilisé le contexte manager.On a utilisé le contexte manager.Donc, on l'a fait. Création de fonction, c'est bon.
01:00:08 :Et oui, ici, les...le K-Works, mais bon, je ne sais pas si je vais rentrer dans le détail,parce que c'est un petit peu plus avancé, déjà.
01:00:16 :Mais vous voyez ici,moi, ma fonction drawFig,qui permet de faire le graphique,elle prend largeur, longueur, rayon de cercle, etc.Ça peut être un peu fastidieuxde devoir rentrer tout ça à chaque fois.
01:00:31 :Et en fait, vous pouvez juste dire,je rentre la largeur et la longueur.Et après, ici, vous lui rentrez un dictionnaireavec ici ses doubles astérisques,pour lui dire, c'est un peu comme si vous lui dites,éclate-moi ce que j'ai dans data.
01:00:47 :Parce qu'en fait, dans data,j'ai rayon de cercle, n-cercle, et n-cercle-y.Et en fait, quand vous faites ici,dans une fonction que vous lui dites double astérisques data,il va prendre votre dictionnaire et il va l'éclater.
01:01:01 :Et en gros, il va le faire manuellement.Lui, c'est comme si, quand je fais drawFig,donc là, j'ai largeur, longueur.Et ici, quand je lui fais data double astérisques,c'est comme si il m'éclatait mon dictionnaire.
01:01:19 :Et du coup, en fait, c'est comme si il faisaitrayon de cercle, égal, n-cercle, égal, etc.Avec la valeur associée.Donc, c'est assez pratique.Et ça, ça s'appelle un K-Works.
01:01:34 :Salvatore, pour ta question, le if name égale main,c'est une question, là en l'occurrence, ça ne sert pas.Mais je prends toujours l'habitude de le faire.
01:01:52 :C'est quand tu vas faire des imports de modules.Je vais essayer de faire un exemple ici rapidement.Donc là, imagine que tu as un script.
01:02:05 :Tu vas dire que c'est le script fizz.ty.Et donc tu dis, je définis une fonction,def ma fonction.Et tu lui dis, elle fait a, b, et elle retournea plus b plus 2.
01:02:30 :J'ai dit une bêtise en dessous.Et donc là, je dis, je veux tester ma fonction.Et je dis, print ma fonction 2 et 4.Et donc si je fais ça,tu vois ici, il m'a dit, et je vais même dire,le résultat est, comme ça je mets un truc,
01:02:58 :on voit bien.Là, tu vois, en fait, j'ai fait une fonction.C'est comme si tu avais fait un moduleavec une fonction qui peut servir à plein de monde.
01:03:08 :Et ici, tu dis, j'applique mon résultat.Donc là, tu es content.Imagine, tu fais un autre script, tu dis, script mer.Parce qu'en fait, je l'appelle script merparce que je vais définir une fonction,mais je vais aussi, surtout, utiliser une fonctionque j'ai dans mon script fizz.
01:03:26 :Donc je dis, from, ou sinon, je fais juste,imagine si tu faisais import,from script fizz, import,même si tu fais juste import script fizz,et puis là tu dis, je veux faire print,je suis dans mon script mer.
01:03:58 :Ok.Donc là, imagine que tu fais ton importparce que tu veux utiliser une fonctiondans ce script là,que tu as défini dans un autre module.
01:04:08 :C'est un exemple.Donc là, si tu lances ton script mer,tu vois que tu as bien,pas dans ton script mer, je suis dans mon script mer,par contre, tu vois qu'il t'a affiché,le résultat est 8.
01:04:20 :Là, tu peux dire, mais qu'est-ce que c'est que ce bordel?Moi, je n'ai pas du tout fait print,le résultat est 8.Mais c'est parce qu'en fait,quand il importe le script fizz,il effectue, il run tout ce qui se passedans le script fizz.
01:04:35 :Et du coup, pour pallier ce problème,tu fais un if name égale main.Et en fait, là, ce que tu lui dis,quand tu dis if name égale main,ça veut dire que tout ce qui va se trouver après,avec l'annotation ici,tu ne l'appliques que quand je t'exécute le script
01:04:59 :à partir de cet endroit là.Donc en gros, si maintenant je vais làet que je lance le script,il me dit juste, je suis dans mon script mèreet il ne m'a pas effectué cette valeur là.
01:05:12 :Par contre, j'ai toujours accès,tu peux dire, je suis dans mon script mèreet tu peux quand même utiliser script fizz.maFn.Et là, je lui mets 1 et 6.
01:05:30 :Et là, tu lui dis,en fait, tu as toujours accèsaux méthodes de ton script fizz,mais il ne va pas t'exécuter tout ce qui se trouveaprès le if name égale main.
01:05:59 :Donc là, si je fais ça,tu vois que ma fonction est toujours utilisable,mais il dit, je suis bien dans mon script mère,donc il ne fait vraiment que ce qui se passe ici.
01:06:09 :Donc voilà à quoi le...Bonne soirée Raphaël.Voilà à quoi sert le name égale main.Voilà un peu pour ce que j'avais prévude vous montrer ce soir.
01:06:29 :Dites-moi bien dans le chat ce que vous en avez pensé.Est-ce que c'était encore...Est-ce que c'était trop débutant?Est-ce que c'était pas assez débutant?
01:06:38 :Est-ce que c'était encore trop compliquépour ceux qui ont dit qu'ils aimeraient voirun peu plus de choses de base?Dites-moi s'il vous plaît, faites-moi les retours,c'est important pour qu'on puisse...
01:06:53 :Ok, très bien Aurélien, j'espère que ça allait.Les autres dites-moi ce que vous en avez pensé.Ok, et du coup...Ok, très bien, mitigé.Qu'est-ce qui est mitigé?
01:07:21 :Sébastien c'était trop compliqué ou trop simple?Pypix, c'est quoi ça?Je connais pas moi Pypix.Ah oui, c'est Pyplot.Mais en fait, Pyplot...En fait Matplotlib s'utilise rarement...
01:08:26 :En fait si tu veux faire des graphs,c'est toujours le module Pyplot de Matplotlib.Mais ça c'est à l'usage en fait,c'est pas grave de pas le connaître par cœur,il faut juste savoir un peu,par exemple si on veut faire un graph, c'est Pyplot.
01:08:45 :Si on veut utiliser les colorbars ou des choses comme ça,pour une légende, faut pas utiliser Pyplot quoi.C'est... Pas de soucis.Et puis dites, en fait, avant les sessions de Montaura,n'hésitez pas aussi à dire s'il y a des choses que vous voulez voir.
01:09:06 :D'accord Sébastien, bah pas de soucis,on est tous en train d'apprendre donc...Et dites-moi si le format, vous me direz aussi,pas obligé de le dire maintenant,vous le dites dans le canal de la communauté sur Montaura,vous dites si le format vous va,ou si vous voulez vraiment voir des choses encore plus basiques.
Aucune occurrence trouvée pour « ».