Content de te revoir.
Nous allons maintenant consacrer une bonne partie de ce cours à la création de projets
et à l'utilisation de modules python intégrés, ainsi qu'à l'utilisation de bibliothèques tierces populaires de Python Package Index.
Cependant, je voulais juste vous montrer une vidéo rapide sur certains des modules utiles que j'aime
personnellement dans les modules intégrés que nous avons de Python.
Et certains de ces modules vraiment utiles nous permettent en fait d'avoir plus de types de données en Python.
Rappelez-vous cette liste au début du cours où j'ai parlé des types de données fournis
avec Python, puis nous avons appris les classes et comment nous pouvons créer nos propres types de données, nos propres
objets en Python.
Mais nous avons également ces types de données spécialisés qui sont également intégrés à cette bibliothèque standard Python, qui sont vraiment,
vraiment sympas dans ce jeu.
Rendre nos programmes vraiment, vraiment puissants.
Maintenant, ils sont spécialisés car vous n'allez pas les voir partout, mais c'est bien de savoir
qu'ils existent.
Et je vais passer en revue certains de mes préférés.
Le premier que je vais vous montrer est le module de collection, donc le module de collection provient d'une collection ou de
collections et il y a trois choses que j'aime vraiment ici.
Donc je vais dire importation.
Je vais importer le compteur, le dictionnaire par défaut puis le dictionnaire ordonné.
Maintenant, remarquez comment certaines d'entre elles sont des classes car elles sont en majuscules et certaines d'entre
elles semblent n'être qu'une fonction, et vous pouvez lire sur le module collections en faisant à nouveau défiler ici et
en regardant simplement les collections.
Et vous pouvez voir tous ceux que nous avons.
Alors dans ces collections, commençons par la première.
Un compteur est extrêmement utile, disons que j'ai une liste qui contient un, deux, trois, quatre, cinq,
six, sept.
Et je veux compter le nombre d'éléments dans une liste si j'imprime le compteur.
Vous pouvez voir ici ce qu'il fait, mais essentiellement si je lui donne une liste et que je clique sur exécuter.
D'accord, qu'est-ce qui vient de se passer ici ?
Il crée un dictionnaire où un a gagné, deux ont gagné, trois ont gagné.
Et si nous ajoutions sept autres ici, disons sept si je clique sur exécuter ?
Avez-vous vu que sept doit maintenant le faire, alors ce qu'il fait est de créer un dictionnaire qui garde la trace du nombre de fois qu'un élément
s'est produit dans un itérable, de sorte que sept s'est produit deux fois.
Donc sept vaut deux.
Une autre façon d'utiliser cela est de dire que nous avons une phrase et disons dans la phrase, je veux vérifier.
Eh bien, écrivons quelque chose.
Je vais dire bla, bla, bla.
En pensant à Python, si je devais faire un compteur ici et disons lui donner une phrase si je clique sur exécuter.
Regarde ça, je vois quelle lettre s'est produite le plus.
Dans notre cas, chacun s'est produit cinq fois, l'espace s'est produit cinq fois, puis B s'est produit
quatre fois, et c'est vraiment, vraiment cool.
Parce que ce type de calcul d'un compteur consistant à transformer un élément comme une liste en ce que nous appelons une carte de
hachage ou un dictionnaire comme celui-ci pour garder le compte est en fait une fonction très utile que vous voyez partout dans la
programmation.
Cela aide en fait beaucoup avec les problèmes d'optimisation.
Maintenant, nous n'allons pas entrer là-dedans.
Mais je voulais juste vous montrer que le compteur est quelque chose de vraiment, vraiment utile.
Si vous souhaitez compter les utilisateurs en double ou les e-mails en double, le compteur peut être vraiment très utile.
Qu'en est-il du prochain type de bite par défaut ?
C'est un mot vraiment difficile à dire.
Très bien, disons que nous avons un dictionnaire ici et que ce dictionnaire aura, eh bien, un
dictionnaire très insignifiant aura un un et B deux.
Quel dictionnaire simple.
Maintenant, ici, je peux dire dictionnaire.
Point.
Ou entre parenthèses, hé, et je pourrai saisir la valeur, n'est-ce pas ?
Si je clique, cours.
Oh, et je n'ai pas épelé le dictionnaire, d'accord, corrigeons ça.
C'est mieux.
Commentons cela pour l'instant, car nous n'en avons pas besoin.
Vous verrez que j'obtiens une valeur de un, mais si j'essayais d'accéder à quelque chose qui n'existe pas, comme,
voyez.
Je vais prendre l'air avec un dictionnaire par défaut.
Je vais en fait obtenir une valeur par défaut si quelque chose n'existe pas.
Convertissons-le donc en un dictionnaire par défaut.
Comme ça.
Et maintenant, si je lance ceci, nous obtenons un autre premier argument qui doit être appelable ou non.
Donc, ce que DECT par défaut fait, c'est qu'il nous permet d'accéder à une clé comme celle-ci, mais en lui donnant une valeur par défaut.
Dans notre cas, nous devons lui donner quelque chose comme un objet appelable ici.
Et coupable signifie quelque chose comme une fonction qui peut être appelée si je l'exécute.
J'obtiens zéro.
Pourquoi donc?
Eh bien, quand je rencontre.
Comme ça sans rien à l'intérieur.
On obtient zéro.
Donc, un raccourci, parce que cela va être exécuté, consiste à lui donner une fonction rapide que nous n'allons pas
utiliser.
Alors faisons juste un lamda.
Et donnez-le simplement.
Disons cinq.
Alors maintenant, si je lance ceci, faisons un dictionnaire ici.
Ron.
OK, et essayons de saisir.
Quelque chose qui n'existe pas, si je clique sur exécuter, j'obtiens cinq, c'est donc un modèle commun que vous voyez
avec DECT par défaut, nous lui donnons simplement une valeur ou un objet appelable.
Dans notre cas, nous lui donnons simplement cette fonction, une fonction lambda qui renvoie simplement cinq.
Donc je peux même dire ici.
N'existe pas.
Le deuxième paramètre sera ce que nous voulons, et si j'appuie sur exécuter.
Je reçois n'existe pas, même si j'accède à une clé qui, eh bien, n'existe pas maintenant si je fais un ici et que je
clique sur exécuter.
Tout fonctionne.
J'en reçois encore un.
Et si je le suis.
J'ai également donné run, encore une fois, un autre petit type de données utile.
Le suivant est ordonné DECT, et celui-ci est un autre intéressant, un dictionnaire d'ordre conserve l'ordre que
vous insérez dans un dictionnaire.
Laisse moi te montrer.
Donc si nous avons, disons, un dictionnaire et ce dictionnaire sera un dictionnaire d'ordre.
Voici donc comment nous le créons maintenant ici, si je fais D est égal à a.
Et cela va être égal à un puis D.
B va être égal aux deux.
Et je copie maintenant ceci et crée un deuxième dictionnaire, ajoutons aux deux D à.
Et je vérifie, hé, l'impression fait que D est égal à D, rappelez-vous, cela va vérifier les valeurs.
Si je lance ça.
J'ai réussi, oui, ils sont égaux, mais si je change l'ordre d'insertion ici et que je clique sur exécuter.
Je deviens faux désolé, ce n'est pas la même chose car cela maintient l'ordre s'il s'agissait d'un dictionnaire ordinaire, alors
disons qu'au lieu de ce que nous avons ici, je vais simplement créer un dictionnaire et nous
le ferons.
Nous allons juste faire une simple vue ici qui a, disons, cent.
Et faites de même pour celui-ci aussi, d à.
Il va à ça.
Si je lance maintenant ceci.
Je deviens vrai parce que toutes les clés et valeurs sont les mêmes avec un dictionnaire ordinaire, nous ne nous en soucions pas vraiment.
Il n'y a pas d'ordre et je l'ai déjà mentionné, écrire un dictionnaire en Python n'a aucun sens de l'ordre, bien que lorsque nous imprimons les clés,
nous puissions mettre les choses en ordre à mesure que notre dictionnaire devient de plus en plus
gros.
Il n'y a aucune garantie que lorsque nous imprimons toutes les clés, nous allons les mettre en ordre.
Dans le cas d'un dictionnaire d'ordre, cependant, nous obtenons cette garantie.
Maintenant, il y a des implications de performance pour ceux-ci.
Cependant, dans l'ensemble, cela peut être utile dans certaines situations.
D'accord, quelques autres à parcourir, mais cette vidéo devient longue, alors faisons une pause et je verrai
dans la prochaine vidéo par.