Transcription
1. Bienvenue dans Python 201: Bienvenue sur Python 21 avec votre hôte Caleb Talia. C'est moi. Si vous êtes prêt à augmenter vos compétences Python, continuez à regarder. Ce cours va vous emmener des compétences Python de niveau débutant à intermédiaire. Dans ce cours, nous allons plonger plus profondément dans les sujets Python tels que le néant et dans les opérateurs gérant des fichiers fonctions imbriquées essentiellement décorateurs, objets
Python, arguments avancés de fonction de portée, arguments de mot-clé, virtuels utilisant des packages tiers, travaillant avec des requêtes API et bien plus encore. Maintenant, si tout cela n'a pas de sens pour vous ou si vous ne connaissez pas tout ça, toutes ces choses le sont, ce cours est absolument pour vous. Regardez pour tirer le meilleur parti de ce cours, vous aurez besoin de connaître certaines connaissances de base Python telles que les fonctions, instructions
conditionnelles, les types de données et les variables. Si vous ne connaissez aucun de ces éléments, veuillez consulter le cours Python 101 car il vous sera beaucoup plus utile. Ce cours suppose également que vous avez déjà écrit Python et que vous avez un éditeur comme VS Code ou PyCharm installé
un éditeur comme VS Code ou PyCharmet que vous savez comment exécuter un simple script Python. Salut, je dis Caleb et je travaille avec Python depuis un certain nombre d'années maintenant. J' ai travaillé avec des clients tels que Mozilla, Nasa, le NHS au Royaume-Uni. Et j'ai appris à des milliers de développeurs comment écrire Python dans divers cours de la mienne. Et aujourd'hui, je vais vous enseigner le Python Intermédiaire. Bienvenue sur Python 201 avec votre hôte, Caleb Italian. J' espère vous voir à l'intérieur.
2. The IN.: Commençons par parler de l'opérateur in. Et donc, en Python one-to-one, nous avons appris sur les opérateurs de comparaison. Et je viens de faire cela plus grand dans un opérateur de comparaison ressemble simplement si quelque chose est égal à autre chose. Maintenant, si vous avez pris Python 101, nous avons eu un petit projet où nous avons écrit un programme de papier-ciseaux. Et nous pouvons changer cela en un fichier Python ici. Et nous avons vu quelque chose comme si ma réponse est égale au rock, et il est en fait n'est pas égal au rock. Et ma réponse n'est pas égale au papier. Et ma réponse n'est pas égale aux ciseaux. Et si je fais ça juste une touche plus petite ici, quittez le programme. Et c'est tout ce qu'il a fait. Maintenant, il y a une meilleure façon de le faire parce que
nous savons que les trois réponses que nous comparons à la pierre, au
papier et aux ciseaux seront toutes, eh bien, elles seront les mêmes. Ils ne changeront jamais. Donc, ce que nous pouvons faire est cet opérateur, cet opérateur en comparaison. Et donc ce que je vais faire ici, c'est revoir mon terminal. Et si je tape Python 3.9 parce que c'est la version que je veux utiliser ici. Je peux simplement écrire l'opérateur in pour comparer une chose à un tableau ou une liste. Et donc je peux dire, une liste de noms est égale à. Et rendons ça plus grand ici. Et la liste des noms est égale à Caleb, Jean, et ravin. Et donc si nous faisons des noms ou si nous faisons des types de noms, nous allons voir qu'il s'agit d'une liste. Et supposons des noms B, des noms, du pluriel. On y va. C' est une liste. On ne voit rien de nouveau. Nous devrions déjà connaître le type de données d'une liste. Mais que faire si nous voulions vérifier si une variable ou un nom est dans une liste de noms. Eh bien, actuellement, ce que nous devons faire, c'est pour le nom dans les noms. Si mon nom, quelle que soit cette variable,
est égal au nom, print, c'est le nom. Et donc c'est un peu honnêtement pas moyen de vivre votre vie parce que si vous l'étiez, si votre liste, mais si vous êtes un rayon est vraiment, vraiment grand, et si vous avez 1000 éléments là-dedans, alors vous devez itérer plus de 1000 différents éléments juste pour savoir si quelque chose est là-dedans. Python a cela intégré. Donc je vais faire ici est Control-C juste avocat. Et je peux dire Caleb, comme une chaîne dans les noms et cela va sortir comme vrai. Je pourrais aussi dire la même chose avec un k minuscule et cela va être faux parce que nos noms ont Caleb, John et Gully. Mais rappelez-vous quand nous comparons des chaînes dans Python 101, une chaîne avec un K majuscule n'est pas la même qu'une chaîne avec un k minuscule. Donc, la même chose avec un J ou un g ou toute autre lettre. Le fait est que ce doit être une correspondance exacte. Et donc dans le premier exemple ici, c'est une correspondance exacte. Et ce que je peux faire ici, c'est que si je tape ça une fois de plus, je peux dire si les noms, les imprimés, le golly est dans la liste des noms. Et nous voyons que ce ravin est dans la liste des noms. Et donc c'est un moyen
vraiment, vraiment facile de vérifier si une réponse est dans un certain nombre de réponses, un nombre possible de réponses. Et donc si nous revenons à notre exemple ici, je vais juste le déplacer un peu vers le bas et le rendre un peu plus petit. Si nous revenons à cette réponse ici, nous allons dire, si ma réponse n'est pas secouée, ma réponse n'est pas papier. Si ma réponse n'est pas des ciseaux, Ce que je peux dire à la place, c'est si ma réponse, quoi que ce soit. Et au lieu d'égal ou égal à, nous pouvons dire dans une liste d'options. Et donc nous avons juste besoin de passer cela dans une liste et nous pouvons simplement mettre une liste d'options. Et faisons effectivement que ces variables existent. Donc nous pouvons dire que Ma réponse est égale au rock. Et faisons les options pour être une liste de pierre, de papier et de ciseaux. Et maintenant, nous pouvons dire, si ma réponse, rock est l'un de ces trois, alors faites quelque chose. On peut dire « imprimer ». Rock est l'une des options possibles. Maintenant, continuons et sauvegardons ce fichier en tant qu'opérateur in. Et je vais faire, faire, faire, faire, juste sortir de ça. Et je vais taper Python dans l'opérateur dot py. Et il dit que le Rock est l'une des solutions possibles. Et si je change ça ? Et si je le changeais de rock à autre chose ? Littéralement n'importe quoi d'autre nous pourrions dire quelque chose qui souligne d'autre et nous allons voir que cela n'imprime plus rien pour nous. Et c'est parce que s'il y avait une déclaration else, ce serait exécuté pour nous. Imprimer une mauvaise réponse. Essaie encore. Et c'est essayer cela et nous voyons une mauvaise réponse. Essaie encore. Maintenant, où cela devient un peu plus puissant est, et encore une fois, nous avons abordé cela dans Python 101. Donc, c'est un peu un résumé. Au lieu de dire que ma réponse est égale à une valeur codée en dur, nous pourrions dire, entrée. Quelle est votre réponse ? Et si cette réponse est égale à du rock, du papier, des ciseaux, alors ça va dire que l'un d'eux n'est pas une option. Nous pouvons dire que cette option est une option viable. Sinon, ça va dire une mauvaise réponse, réessayez. Alors gardons ça et donnons une chance à ça. Il est dit, quelle est votre réponse ? Si je tape du rock. Non, ne faisons pas de rock. On a déjà fait du rock. Faisons du papier. Cette option est viable. Essayons encore ça. Il est dit, quelle est votre réponse ? Ma réponse va être Python. Python a Oui parce que j'ai un zed là-dedans pour une raison quelconque. Et il dit, mauvaise réponse, essayez à nouveau. Et donc l'opérateur in juste IN dit simplement, est la chose à gauche, à l'intérieur de l'itérable, à droite. Si c'est le cas, si c'est vrai, exécutez cette instruction conditionnelle. Si ce n'est pas le cas, alors c'est faux. Exécutez l'instruction else, ou à l'origine nous n'avions rien, alors ne faites rien du tout. Maintenant, si je devais commenter cela, nous pouvons faire la même chose avec un dictionnaire. Donnons donc une valeur, pas une valeur mais une variable appelée clé. Et ça va être un nom. Et nous pourrions créer une personne au nom du dictionnaire. Caleb, profession, professeur de codage. Et puis nous pouvons dire si la clé en personne, Imprimer, Nom est une clé de dictionnaire valide dans l'objet Person. Allons-y et donnons une chance à ça. Maintenant, nous allons taper dans l'espace Python dans l'opérateur de soulignement dot py. Et il dit nom comme une clé de dictionnaire valide dans l'objet Person. Et si on changeait la clé ici ? Et si on le changeait en quelque chose qui manque ? Rien ne se passe. Et c'est parce que ce qu'il cherche est la clé. Et rappelez-vous dans le dictionnaire que nous avons une paire de valeur clé. Il cherche cette clé là-dedans. Et donc personne avec une clé de fluorophore n'existe pas, mais une personne avec une clé de nom existe. Et donc nous pouvons utiliser l'opérateur in dans un dictionnaire aussi. Nous pouvons également l'utiliser dans un tupple. Maintenant, ce que je voudrais que vous fassiez, pour essayer cela, encore
une fois, un peu d'expérience pratique, c'est que je veux que vous utilisiez l'opérateur in sur un plateau. C' est un type de données Python. Nous avons appris cela dans Python 101. Et je veux que vous utilisiez l'opérateur in sur un ensemble, pas un dictionnaire et pas un tuple, pas une liste, mais un ensemble. Je veux que tu vois si ça marche pour toi. Si cela fonctionne ou ne fonctionne pas pour vous. Parce qu'à ce stade, nous entrons dans Python de niveau intermédiaire. Il est temps de commencer à explorer et de cesser compter sur quelqu'un qui vous montre tout ce qui peut ou ne peut pas arriver. Il est temps de commencer à explorer et à apprendre par vous-même. Et, donc c'est vraiment important que tu puisses le
faire parce que tu finiras par avoir un travail. Et dans ce travail, ils vont vous demander de créer une sorte de fonctionnalité unique et il n'y aura pas de tutoriel pour cela. Il n'y aura pas de personne pour te tenir la main pour ça. Vous allez devoir un
peu expérimental vous-même et trouver vos propres solutions. Et c'est juste une
très bonne expérience de la vie réelle quand il s'agit juste d'expérimenter et vous n'allez rien casser. Alors n'hésitez pas à expérimenter et si ça ne marche pas, ça ne marche pas. Si vous obtenez une erreur, vous pouvez savoir à quoi consiste cette erreur. Mais allez-y et donnez un coup de feu. Dites si la clé est dans une sorte de type de données défini, puis imprimez simplement quelque chose. C'est tout ce qu'on a à faire.
3. L'opérateur: Jetons un coup d'oeil à l'opérateur NOT. Donc, nous avons appris des déclarations conditionnelles et nous avons dit quelque chose comme si quelque chose égal à autre chose, FAIRE une chose. Et c'est cool. Et nous avons aussi appris à ce sujet. Si quelque chose n'est pas égal à autre chose, FAIRE une chose. Mais si nous ne voulons pas simplement écrire tout ça ? Eh bien, nous avons un raccourci. Nous pouvons dire si quelque chose est vrai, si cette chaîne est vraie, le dictionnaire est vrai, la liste est vraie, le booléen est vrai. Est-ce vraiment important si quelque chose est vrai ? Alors fais quelque chose. Mais si on veut dire si quelque chose est faux ? Alors allons de l'avant et mettons en place un exemple ici. On va dire que mon truc est égal à vrai. Juste pour configurer cet exemple, si mon truc, l'impression était vraie. Et si nous exécutons ceci, nous pouvons faire Python, pas l'opérateur dot py. Et ça dit que c'était vrai. Et c'est parce que ça se résume vraiment à ça. Et si on voulait exactement le contraire ? Will actuellement, nous devons le faire. Nous devons écrire passe et ensuite faire une déclaration else. Ce n'est pas vrai. Et allons changer ceci en faux juste pour que nous puissions faire cela exécuter. Donc, la chose est fausse. Cela n'arrivera pas. L' autre va alors être exécuté. Et ça va dire que ce n'est pas vrai. Donc, si nous refaisons ça, bien sûr, ça dit que ce n'est pas vrai. Maintenant, c'est exactement la même chose que dire est égal à faux. Ce qui est exactement la même chose que dire n'est pas égal à vrai. Et nettoyons simplement cet exemple et exécutons ceci une fois de plus. Cela va dire, ce n'est pas vrai parce que faux n'est pas vrai. En fait, ce n'est pas vrai. Cette déclaration est vraie parce qu'elle dit faux. Est-ce que c'est la même chose ? Non. D' accord. Eh bien, alors c'est une vraie déclaration et c'est là que ça devient un peu déroutant. Donc, en termes de Python, nous aimons raccourcir les choses chaque fois que possible. Et nous disons simplement, si mon truc est égal à vrai, imprimez une déclaration ici. Maintenant, quand nous exécuterons ceci, nous allons voir que cela ne fonctionne tout simplement pas, cela n'exécute rien du tout. Ce que nous pouvons dire à la place, c'est l'opérateur NOT. Et donc, dans d'autres langages de programmation, vous allez voir un point d'exclamation devant votre variable. Vous le voyez beaucoup en PHP, et vous le voyez beaucoup en JavaScript. En Python, nous ne le faisons pas en Python. Nous aimons que notre code soit agréable et lisible. Donc nous ne voulons pas de petits symboles fous partout comme nous n'avons pas JavaScript ces jours-ci. Nous disons simplement, si quelque chose n'est pas vrai et qu'il fait littéralement une phrase pour nous. Si quelque chose ne l'est pas, et qu'il cherche, c'est toujours à la recherche d'une vraie valeur. Donc si ce n'est pas vrai, aka, si c'est faux, imprimez une déclaration ici. Allons-y et sauvegardons ça. Et nous allons voir que cela maintenant imprimer une déclaration qui dit imprimer une déclaration. Et ici, comme on s'y attendait. Maintenant, allons de l'avant et créons un exemple de plus. Le nom est égal à K_1 comme g. Nous pouvons dire si le nom n'est pas dans. Regardez ça maintenant, nous mélangeons l'opérateur in avec pas. Et nous devons nous donner une liste de noms. Caleb, John Golly. Donc, si canne ascii n'est pas dans une liste avec ces noms dedans, imprimer, canne ne fait pas partie du club. Et quand nous lancerons ça, tout d'abord, nous allons voir dans cette déclaration imprimée ici, donc nous pouvons juste ignorer ça. Mais on verra la déclaration imprimée à la ligne 9. Et bien sûr, la déclaration d'impression originale apparaît à partir de la quatrième ligne. Et puis de la ligne 9, il est dit que Caïn ne fait pas partie du club. Et donc ce que nous disons ici, c'est si le nom n'est pas dans cette liste particulière ou un tableau de noms, faites quelque chose. Et avec l'opérateur non vient beaucoup de puissance. Nous pouvons maintenant vérifier si les choses sont le contraire. Nous n'avons pas été en mesure de le faire dans Python one-to-one 101, nous avons dû faire le long chemin dans Python 201, Python niveau
intermédiaire que nous devons savoir que pas le mot-clé est quelque chose de pas vrai,
est quelque chose de pas dans une autre liste est quelque chose de pas autre chose. Maintenant, une chose à garder à l'esprit est généralement lorsque nous comparons des choses comme des chaînes, nous pouvons avoir le nom un est égal à K_1, name2 est égal à Caleb. Typiquement, nous ne faisons pas cela. Nous n'écrivons pas si le nom un, pas nom2, imprimez des noms différents parce que cela n'a tout simplement pas vraiment de sens. Si le nom un n'est pas nommé à. Je veux dire, oui, il y a un moyen de comparer en utilisant l'opérateur est comme ça, mais en fait nous ne le faisons pas de cette façon. L' opérateur est un spécial sur l'opérateur est moyen est de comparer des morceaux de mémoire, pas seulement la valeur, qui pourrait être canne ou Caleb. Et donc ce que nous disons généralement est quand nous comparons des chaînes, si le nom un n'est pas nom2 et nous le faisons avec cet opérateur. Mais quand on travaille avec l'opérateur non dans une liste, on le met au milieu. Et quand on met l'opérateur non devant quelque chose, on vérifie si c'est faux. Et donc si vous lisez littéralement ceci comme une phrase ordinaire, cela a beaucoup plus de sens. Si quelque chose n'est pas vrai, déclaration. Si le nom n'est pas dans une liste, faites quelque chose. Et si une personne n'est pas la même qu'une seconde personne, faites une autre chose. Et c'est l'opérateur NOT. Ce que j'aimerais que vous fassiez, c'est que vous fassiez les deux premiers exemples ici. Donc, débarrassons-nous de cela et faisons juste les deux premiers exemples. Essayez de vérifier un booléen, puis essayez de vérifier une liste comme celle-ci. Assurez-vous d'utiliser l'opérateur NOT dans les deux situations. Et le but ici n'est pas de devenir un expert chez l'opérateur non parce que c'est honnêtement, c'est une chose assez facile à apprendre pour la plupart. L' idée ici est simplement d'obtenir une expérience pratique en apprenant comment le code inverse fonctionne. Si je ne fais pas partie d'un club, je ne peux pas entrer. Si je ne suis pas riche, je ne peux pas acheter de yacht. Si quelqu'un entre une entrée utilisateur et qu'elle est vide, ce serait faux. Donc, vous pouvez dire, si ce n'est pas UserInput, alors vous pouvez quitter le script ou leur dire d'entrer plus de contenu ou, ou de ré-entrer le script. Alors allez-y et essayez à nouveau. Le but ici est juste la pratique. Nous voulons juste pratiquer, pratiquer, pratiquer. C' est comme ça que tu vas aller bien. Vous avez juste besoin de pratiquer, de pratiquer, de pratiquer. Alors essayez ceci, donnez-lui un coup de feu et si vous êtes coincé
ou, ou cette explication n'était pas assez bonne, hésitez pas à laisser un commentaire ci-dessous ou dans le groupe Apprendre à coder Facebook. Je suis toujours là pour aider. Dans la leçon suivante, allons de l'avant et parlons de la lecture de fichiers.
4. Comment lire des fichiers à l'aide de Python: Bon, parlons de la façon dont on peut lire les fichiers. Et donc nous ouvrons des fichiers en Python avec cette chose appelée un gestionnaire de contexte. Maintenant, nous n'allons pas trop entrer dans les détails d'un gestionnaire de contexte. C' est un peu une manière différente d'ouvrir un fichier, surtout si vous venez d'un langage de programmation différent. Mais il est aussi très performance de la mémoire, ce qui
signifie que vous ne pouvez pas accidentellement casser votre ordinateur jusqu'à ce que la lecture des fichiers est aussi simple que de dire avec ouvrir votre nom de fichier, r pour lire comme fichier. Et puis nous pouvons faire quelque chose comme imprimer file.js. Et c'est tout. C' est tout ce qu'il y a. Maintenant, nous avons réellement besoin de créer un fichier ici. Alors allons de l'avant et créons un nouveau fichier, et appelons-le lise-moi point TXT. Bonjour de Python 201. C' est ce que je vais dire. Et donc ce que nous allons faire ici dans ce fichier de lecture dot py, nous allons simplement ouvrir ce fichier readme et imprimer ce qu'il y a dedans. Et donc nous pourrions dire avec ouvert lisez-moi 2.txt, c'est la virgule du nom de fichier. R signifie lire comme. Et puis nous lui donnons une sorte de nom de variable, nous pouvons l'appeler fichier. Nous essayons de ne plus utiliser f parce que F est un peu court pour un F Strings. Donc, nous ne voulons pas que cela confuse en Python. Donc, nous écrivons généralement quelque chose comme fichier ou CTX pour le contexte ou quelque chose comme ça, n'a pas vraiment d'importance. C'est juste un nom de variable. Et puis nous pouvons dire imprimer le fichier point. Et vous pouvez voir que VS Code essaie déjà de remplir automatiquement les choses pour moi. Donc si je continue ici, je peux cliquer sur lire. Et c'est une fonction, c'est une méthode. Il va réellement effectuer une sorte de logique, et donc il a besoin de ces parenthèses. Allons de l'avant et sauvegardons cela et exécutons ce fichier dans votre terminal. Faisons la lecture de fichiers Python dot py et il dit Bonjour de Python 201. Vous remarquerez qu'il y a en fait une ligne vide là-dedans aussi. Et si on retourne ici, je suis sûr, je suis certain qu'il y aura une ligne 2 vide. Et oui, c'est là. Ligne vide à ceci est une nouvelle ligne. Allons de l'avant et sauvegardons ça. Il y a une ligne vide 3. Bonjour de Python 201. C' est une nouvelle ligne. Et c'est vraiment tout ce qu'il y a à lire des fichiers. Maintenant, voici le truc, c'est quand vous lisez un fichier ou quand vous avez affaire à des fichiers. Ce gestionnaire de contexte utilisant le mot-clé width signifie simplement que nous n'avons pas accès au fichier en dehors de cette indentation. Donc, si nous commentons cela et nous tapons passer et ensuite nous essayons d'imprimer le fichier dot read. Voyons ce qui va se passer ici. Il dit l'opération d'E/S d'erreur de valeur sur le fichier fermé. Il essaie de lire ce fichier, mais il a déjà été fermé. Donc, fondamentalement, ce que Python va faire est de dire, avec le fichier Readme dot TXT ouvert comme un état de lecture, pas un état d'écriture ou quelque chose comme ça. Juste un état de lecture va assigner cela à une variable appelée Fichier. Et puis ce fichier va être de portée. Cette variable de fichier va être portée à cette indentation ici. Et quand il arrive à la fin de l'indentation, ce qu'il fait à la ligne 5, il va fermer ce fichier automatiquement pour nous,
donc nous n'avons pas à nous soucier de fermer le fichier du tout jamais. Python le fera pour nous. C' est un moyen sûr d'ouvrir vos fichiers. Maintenant, ce que je voudrais que vous fassiez un peu de devoirs ici est d'aller de l'avant et de créer un nouveau fichier appelé README dot TXT. Et écrivez ceci à voir avec l'ouverture. Et puis votre nom de fichier, virgule r pour lire comme une sorte de nom de variable, puis imprimez cela. Et je vais nettoyer ça parce qu'on n'a pas besoin de ça. Et puis tout ce que nous faisons, c'est ce nom de variable. Il se trouve que je l'appelle « file dot read », et ça va lire le fichier pour nous. Alors allez-y et donnez-lui un coup de feu. N' hésitez pas à mettre la vidéo en pause ici. Il y a une autre chose que je veux vous montrer, mais j'aimerais que vous puissiez mettre la vidéo en pause ici et essayer ceci. Maintenant, il y a une autre chose que nous pouvons faire si nous voulons le contenu de ce fichier soit stocké dans une variable que
le contenu de ce fichier soit stocké dans une variableaccessible en dehors du mot-clé width ici ou de l'indentation ici. Nous pourrions simplement dire quelque chose comme le contenu est égal à file.js lu. Et puis ici, on peut dire « imprimer ». Le contenu est du contenu. Et quand on essaiera ça, on verra que ça marche. Il dit que le contenu est Bonjour de Python deux à un, c'est une nouvelle ligne et il y a une ligne vide là-dedans. Et maintenant, nous avons accès à la, fondamentalement tout le contenu de ce fichier. Mais en dehors du gestionnaire de contexte que nous avons ouvert avec le mot-clé width. Pourquoi est-ce important ? Eh bien, c'est important parce que nous avons un gestionnaire de contexte. Nous avons stocké le contenu du fichier dans une variable appelée contenu. Et puis dans les coulisses, Python ferme ce fichier. Il l'a fait pour nous, donc il n'utilise pas trop de mémoire, il essaie d'être aussi efficace que possible. Et parce que franchement, beaucoup de gens oublient de fermer leurs dossiers, c'est un moyen sûr de le faire. Ensuite, nous pouvons accéder à cette variable de contenu en dehors du gestionnaire de contexte. Maintenant, j'aimerais aussi que tu lui donnes un coup de feu. Donc, il y a deux tâches pour ce travail particulier. L' une consiste à ouvrir un simple fichier TXT, puis à imprimer. Et un autre consiste à affecter le contenu de ce fichier que vous ouvrez à une variable, puis à y accéder en dehors du gestionnaire de contexte, l'instruction width, y compris l'indentation pour s'assurer qu'il est accessible depuis l'extérieur de ça. Vas-y et essaye-le et quand tu seras prêt, je te verrai dans la vidéo suivante.
5. Comment créer des fichiers à l'aide de Python: Dans la dernière leçon, nous avons examiné comment ouvrir des fichiers et simplement les lire, mais nous pouvons aussi écrire dans des fichiers. Nous pouvons créer de nouveaux fichiers. Et donc, continuons et créons un tout nouveau fichier à partir de zéro en utilisant Python. Et donc il ressemble à ceci avec open et ensuite votre nom de fichier. Donc, disons écrire des fichiers, data.txt. Donc, c'est le fichier dot py de fichiers d'écriture. Nous allons faire l'écriture de file.txt. Nous allons créer ce fichier. Et puis dans la dernière leçon, nous avons utilisé r pour lire. Dans cette leçon, nous allons utiliser w pour écrire en tant que fichier. Maintenant, nous avons un gestionnaire de contexte. Donc, ce fichier ne sera jamais ouvert que tant que nous indentons notre code ici. Ensuite, nous pouvons dire l'écriture de point de fichier. Bonjour de Python 201. Allons de l'avant et exécutons ce fichier en tapant Python, écrivant les fichiers dot pi. Et nous allons voir un nouveau fichier apparaitra ici, à gauche. Et regardez que l'écriture file.txt apparaît. Boom, ça dit Bonjour de Python à un. Que se passe-t-il quand on recommence ? Laisse écrire Hello à partir de Python 21 deuxième fois, sauvegardez cela, et exécutons ceci. Maintenant, pensez-vous que cela va ajouter
au fichier file.txt d'écriture ou pensez-vous qu'il va l'écraser ? Alors va-t-il dire Bonjour de Python à un, Bonjour de Python à 1 seconde fois ? Ou va-t-il simplement dire Bonjour de l'outil Python 1 seconde fois comme une ligne individuelle dans ce fichier. Ce sont des petites expériences amusantes que nous avons pendant que nous apprenons Python. Vérifions ça. Cliquez sur et il a écrasé le fichier entier. Maintenant, si jamais vous voulez ajouter à un fichier, c'est vraiment facile. A signifie ajouter. On fait un et ça va être une deuxième ligne. Allons de l'avant et exécutons ça. Consultez notre fichier file.txt d'écriture. Et ça dit, oh, en fait, ce n'est pas comme deuxième ligne. Mais il a ajouté à la fin ici. Donc, il est allé à la toute fin
du dossier et il a écrit plus ce que nous voulons réellement faire ici. Et c'est un bon exemple. Je suis vraiment content que cela soit arrivé, c'est que nous pouvons faire une barre oblique n. Et donc nous ne les voyons pas dans les fichiers, mais dans ce fichier ici où ce deux-points est et il va à une nouvelle ligne, il y a en fait un caractère caché là-dedans. C' est une barre oblique n pour la nouvelle ligne. Et on peut écrire cette nouvelle ligne ici. Nous pouvons également ajouter une nouvelle ligne et une barre oblique de tabulation t. Ceci est à onglets. Allons de l'avant et exécutons ceci et voyons comment cela se passe. Donc, nous avons Bonjour de Python 21, deuxième ligne, c'est parce que j'ai vraiment foiré. Je ne vais pas éditer ça fois. Je veux vous montrer que même des programmeurs aguerris comme moi feront des erreurs. C'est tout à fait normal. Une deuxième ligne, parce que nous avons couru ça une deuxième fois. Et un onglet ici, vous remarquez que ce n'est pas des espaces. C' est en fait un onglet et il dit que c'est à onglets. Maintenant, nous pouvons écrire des fichiers. Et avec cela, nous pouvons prendre l'entrée de l'utilisateur et nous pouvons écrire des fichiers directement à partir de l'entrée de l'utilisateur. Mais ne sautons pas si loin. Dans la leçon suivante, allons de l'avant et lisons plusieurs lignes en même temps. Alors, comment ouvrir ce fichier ? Mais alors comment pouvons-nous obtenir cette ligne, cette ligne et cette ligne ? Comment on fait ça ? Mais avant de passer à la leçon suivante, ce que je voudrais que vous fassiez comme votre tâche est d'ouvrir un gestionnaire de contexte en utilisant le mot-clé width, d'
ouvrir un fichier, de le nommer, ce que vous voulez. Utilisez la propriété d'écriture W. Donc W signifie juste, et nous avons juste mis W pour court comme une sorte de fichier. Et puis ce fichier de gestionnaire de contexte point droit, puis une nouvelle ligne. Et vous pouvez mettre une barre oblique n pour une nouvelle ligne là si vous le souhaitez ou une barre oblique t. Et quand vous avez terminé cela, essayez d'ajouter à ce fichier. Donc, écrire va écraser le fichier à chaque fois. A va ajouter à ce fichier, ajoutez-le à la fin. Allez-y et essayez cela et quand vous serez prêt, regardons comment nous pouvons lire plusieurs lignes à la fois.
6. Comment lire des lignes multiples dans Python: Ok, bienvenue. Jetons un coup d'oeil à la façon dont nous pouvons lire plusieurs lignes à la fois. Maintenant, vous pourriez penser, pourquoi est-ce important ? Mais si je vous donnais une liste de 100 emails et que je voulais que vous trouviez celui qui a mon nom dedans. Comment allons-nous faire ça ? Et c'est un peu comme gratter des données sur Internet, ce qui est très, très commun. Donc avant quoi que ce soit, continuons et créons un nouveau fichier. Et cela va juste être appelé e-mails 2.txt. Il va y avoir un email à gmail.com, email à trois. Et puis mettons Caleb sur gmail.com. Mettons John sur gmail.com et mettons le goulet sur Hotmail.com. Donc, nous avons six adresses e-mail ici. Et nous voulons essayer de savoir si, disons Caleb, Edgy.mil dot com est ici. Comment on fait ça ? Eh bien, d'abord, on doit ouvrir ça. Nous disons avec des e-mails ouverts 2.txt, Laissons juste le lire. Nous n'avons pas besoin d'y écrire ou d'y ajouter comme des e-mails. Et ce que nous pouvons faire ici, c'est des courriels dot read lines. Et si j'imprime ça, on va voir que ça va paraître très, très familier. Pour que je puisse taper, éclaircissons ça. Et je peux taper Python en lisant plusieurs lignes et point py. Et regarderais-tu ça ? Tout d'un coup, c'est un tableau. Donc, le premier élément ici est e-mail à gmail.com. E-mail à trois Caleb a Gmail, John à Gmail Gully à Hotmail. Ceci est un tableau. Nous pouvons maintenant travailler avec un tableau. C' est excitant parce que nous pouvons prendre des raccourcis plus agréables ici. Alors allons de l'avant et jetons ceci dans une variable appelée e-mails. Et nous n'avons plus besoin de travailler dans ce gestionnaire de contexte. Son travail est terminé. Nous pouvons maintenant accéder à tous ces e-mails sous forme de tableau ou de liste comme nous l'appelons en Python. Nous pouvons accéder à tous ces e-mails dans une liste et une variable appelée e-mails, aussi simple que cela. Donc maintenant, nous pouvons dire pour e-mail, dans les e-mails ,
imprimer, chercher, disons non, nous allons chercher un compte Hotmail. Vous recherchez un compte Hotmail. Ensuite, nous pouvons dire si Hotmail est dans cet e-mail particulier, nous pouvons utiliser l'opérateur in pour vérifier si une chaîne est à l'intérieur d'une autre chaîne. Imprimez l'intégralité de l'e-mail. Et donc cela va filtrer tous
les e-mails dans un fichier et nous donner tous ceux qui ont Hotmail dedans. Allons de l'avant et exécutons ce code et nous allons voir à la recherche d'un compte Hotmail, recherche d'un compte Hotmail à la recherche de lait chaud. Oh, regarde ça. S'il est reconnu coupable sur Hotmail.com. Allons de l'avant et supprimons cette déclaration d'impression parce que ce n'est pas utile. Disons qu'on voulait tout le compte Gmail. Donc, cela va filtrer celui qui a dit ravin au hub à Hotmail.com. Nous exécutons ceci et nous envoyons un
e-mail à trois, Caleb et John. Qu' est-ce qui se passe avec cet espacement ? Eh bien, cet espacement est parce que si je fais défiler vers le haut, vous remarquez la barre oblique n. Et nous en avons parlé dans la dernière leçon. Slash n signifie nouvelle ligne. Donc ce que nous voulons faire ici, c'est que nous voulons prendre cet e-mail et nous voulons simplement le couper. Maintenant, dans d'autres langages de programmation, nous utilisons le mot trim. En Python, nous utilisons la coupe gauche ou la coupe droite, et nous ne l'appelons pas du tout trim. En fait, on l'appelle « bande ». Donc notre bande et tout ce qui va faire, c'est d'enlever ces lignes là-dedans. Donc si on recommence, on ne verra pas tous ces espaces supplémentaires. Et en fait, ce n'est pas là que nous voulons qu'il soit parce que nous l'imprimons. Ça ne va pas imprimer quoi que ce soit pour nous. Nous voulons changer ce qui est exposé dans nos terminaux. On se déshabille ici. Et quand nous lancerons ça une fois de plus, débarrassons-nous de ce vol stationnaire là. Nous le faisons une fois de plus. On y va. Il se débarrasse de cette ligne supplémentaire pour nous. Et encore une fois, la raison pour laquelle cela se passe est que si nous imprimons tous ces e-mails, nous allons voir que ce tableau ici, cette liste, cette liste Python a une barre oblique n à la fin. Et c'est parce qu'à la fin de chaque ligne il y a une barre oblique n. C'est un caractère invisible, nous ne le voyons pas, mais c'est là. Et cela dit au programme, qui dit à l'ordinateur qu'il y a une nouvelle ligne ici. Et donc tout ce qu'on fait c'est de dire, au lieu d'avoir une barre oblique, dépouillez-le. Maintenant, ce que j'aimerais que vous fassiez comme tâche est quelque chose d'un peu plus facile. Essayez simplement d'ouvrir un fichier appelé e-mails dot TXT. Lancez un tas d'e-mails là-dedans, assurez-vous qu'il est lisible. Et puis je veux simplement que vous parcouriez chaque e-mail et imprimiez l'e-mail. Essaie ça. Et si vous remarquez que vous avez des lignes supplémentaires là-dedans, essayez d'utiliser notre bande qui va simplement se débarrasser de la barre oblique n à la fin de chaque valeur. Allez-y et faites-moi un solide, essayez ça. Il ne va pas sembler que c'est vraiment super utile pour le moment. Mais quand vous entrez dans le scraping Web, qui est ce que Google fait, Google gratte tous les sites Web sur le, sur Internet et l'indexe dans une base de données. Il cherche des cordes à l'intérieur des cordes. Il est en boucle à travers chaque page là-bas. Donc, au lieu de parcourir chaque e-mail, il pourrait s'agir de tous les sites Web. Et puis ça va faire quelque chose. Et tout cela pourrait être stocké dans un seul fichier. C' est donc un exemple amusant dans le monde réel. Oui, vraiment l'essayer. Et quand vous êtes prêt, passons à la leçon suivante où nous demandons en fait à un utilisateur
une entrée utilisateur, puis créons un fichier qui sera alors exécutable.
7. Écrire un fichier et l'exécuter: Ok, bienvenue de retour. Parlons de l'exécution de fichiers, ou je suppose de créer des fichiers à partir de UserInput. Et donc l'idée ici est que vous pouvez demander à l'utilisateur une forme d'entrée. Et puis vous pouvez créer un fichier à partir de cela. Et avec ce fichier, vous pouvez y ajouter du contenu. Donc, nous allons fusionner toute l'expérience que nous avons avec la lecture et l'écriture et l'ajout fichiers dans un programme où vous pouvez essentiellement créer votre propre forme de catalogue ou, ou carnet de contacts ou, ou carnet d'adresses. Donc, d'abord, nous allons demander le nom de fichier. Le nom de fichier va être entré. Quel est le nom du fichier ? Et nous allons aussi demander du contenu. L' entrée est égale à entrer le contenu, quel que soit le contenu. Ensuite, nous pouvons dire quelque chose comme la largeur. Nous ouvrons un gestionnaire de contexte ici, ouvrons ce nom de fichier. Nous allons l'écrire ou l'écraser à chaque fois en tant que fichier, alors nous pouvons dire point de fichier droit, le contenu. Maintenant, si nous essayons ceci, les fichiers utilisateur exécutables
python, il va me demander un nom de fichier. Alors mettons Zed, Zed, Zed 2.txt juste pour qu'il apparaisse en bas ici, il est facile de repérer sous un certain contenu. Bonjour, je m'appelle Bob et j'aime coder. Ok, on dirait que ça n'a rien fait d'autre que, hé, regarde ça. Zed, Zed dot TXT est arrivé. Et boum, MyText est maintenant là-dedans. Maintenant, obtenez ceci, nous pouvons réellement commencer à rendre cela beaucoup plus agréable pour l'utilisateur. On pourrait dire que le fichier ouvert est égal à l'entrée. Souhaitez-vous lire ce fichier ? Et cela devrait prendre un oui ou un non. Donc nous pourrions dire que si le fichier ouvert est en Y ou N, alors nous pouvons faire quelque chose. Nous disons, si le fichier ouvert est égal à N, ne rien faire. Ou nous pouvons dire que si le fichier ouvert est égal à y, allons-y et ouvrons ce fichier maintenant. Donc, nous pouvons dire avec ouvert ce même nom de fichier d'en haut avec des propriétés de lecture comme fichier, impression, point de fichier lu. Et donc tout le script ressemble à ceci. On demande un nom de fichier. Nous demandons un peu de contenu. Nous allons alors écrire ce nom de fichier avec du contenu à l'intérieur, et c'est complètement dynamique, c'est à l'utilisateur de choisir. Ensuite, nous allons dire, Voulez-vous ouvrir ce fichier oui ou non ? Ouvrir le fichier est dans une liste de Y ou N. Ensuite, exécutez ce code. Si le fichier ouvert est égal à y, alors nous voulons ouvrir ce fichier et imprimer ce fichier. Allons-y et donnons une chance à ça. Faisons Yoy dot TXT est le nom de fichier, entrez du contenu. Le contenu est roi. Tu te souviens quand les gens disaient que le contenu des médias sociaux est roi ? Et vous voulez lire ce dossier ? Tapons Y. et il l'imprime pour nous. Il a lu ce fichier pour nous, et c'est exactement ce qui est NY YY 2.txt. Maintenant, je vais supprimer ce fichier. Je vais supprimer ce fichier aussi. Et je vais vous laisser ce code source. Maintenant. Je veux que vous essayiez ça, juste essayer les lignes 1 à 5. Vous n'avez pas à vous soucier des lignes 7 à 11. Drew vient juste d'y avoir de la fantaisie. Nous sommes juste en train de montrer ses compétences juste parce que nous le pouvons, ce qui est une chose très programmeur à faire. Nous aimons faire ça. Mais essayez ceci et demandez un nom de fichier. Vous une entrée utilisateur demande un certain contenu pour utiliser une entrée plus utilisateur et utiliser un nom de fichier dynamique et dynamiquement droit, un contenu dynamique. Et puis assurez-vous que ce fichier
apparaît réellement là où vous pensez qu'il va apparaître et l'ouvrir, assurez-vous qu'il fait ce que vous attendez qu'il fasse. Et si tout a l'air bien, à droite ? Passons à la prochaine leçon où nous parlons fonctions à l'intérieur des fonctions parce que surprise, surprise. Tout en Python est appelé un objet. Oui, c'est un concept époustouflant, mais nous pouvons imbriquer des choses dans les choses de Ness et vous pouvez le voir ici. Nous n'avons jamais eu d'instruction with à l'intérieur d'une instruction if, à l'intérieur d'une instruction if. Et ça peut durer éternellement. Ce n'est pas une performance de le faire pour toujours, mais nous pouvons le faire pour toujours si nous le voulions. Et les fonctions ne sont pas différentes. Nous pouvons avoir une fonction à l'intérieur d'une fonction à l'intérieur d'une fonction. Donc, la prochaine leçon, nous allons jeter un oeil sur les fonctions et certains de la portée bizarre qui se produit à l'intérieur de cela.
8. Fonctions à l'intérieur des fonctions: Jetons un coup d'oeil aux fonctions imbriquées à l'intérieur des fonctions, car en Python nous pouvons le faire. En Python, tout est appelé un objet, qui signifie que
les fonctions à l'intérieur de fonctions ou d'objets, les fichiers ou les paquets d'objets sont des objets. Tout est un objet, vous obtenez un objet, objet
Eigen, nous avons tous un objet. Mais dans ce cours, pas dans ce cours, mais dans cette leçon, regardons la portée et comment elle affecte les fonctions à l'intérieur des fonctions. Donc, créons une fonction, appelons-la chose un. Et puis nous pouvons avoir une fonction à l'intérieur de cela. Et disons juste imprimer. Bienvenue à la première chose. Et c'est serrer ça juste une seconde là. Et avons une autre fonction ici. Une chose aussi. Imprimez. Bienvenue à quelque chose aussi. Et pour exécuter cela à l'intérieur de cette fonction. Ou plutôt pour exécuter quelque chose aussi, nous avons simplement exécuté à l'intérieur de la chose un, donc nous disons chose pour l'exécuter. Et puis quand nous appelons la première chose, cela va s'exécuter, il va imprimer, il va ensuite enregistrer cette fonction et le code à l'intérieur de cette fonction, puis exécuter cette fonction à l'intérieur de celle-ci. Et maintenant, nous avons deux fonctions et une ici, et il est vraiment nécessaire d'appeler l'une d'entre elles. Alors allons-y et sauvegardons ça. Et allons à View. Entendez-moi maintenant. Et nous allons taper les fichiers utilisateur exécutables python. Ce n'est pas juste. C' est Doo-Doo-Doo-Doo. Je dois annuler ça. D' accord, donc j'ai juste changé le nom de ce fichier là, donc on ne remplace pas le fichier de la dernière leçon. Donc, ce que je veux faire ici dans mon type de terminal fonctions Python à l'intérieur des fonctions. Et nous allons voir qu'il est dit Bienvenue chose un, bienvenue à ce truc faire. Et c'est encore parce que si on sépare ça, ça pourrait avoir un peu plus de sens à nos yeux. Mais la première chose, eh bien, nous savons que c'est une chose de fonction régulière aussi, est alors de s'inscrire ou d'être inscrit à l'intérieur de la première chose. Et puis on l'a exécuté. Si nous ne voulions pas qu'elle soit exécutée
, pourquoi le lirions-nous du tout ? Mais c'est à côté du point que nous pourrions tout simplement pas exécuté à l'intérieur. Et cela va simplement dire bienvenue à la première chose. Donc, c'est une fonction à l'intérieur d'une fonction. Et finalement c'est ce qu'on appelle un décorateur, un taux de déco ou quelque chose comme ça. Autrement dit, la prémisse d'un décorateur parlera probablement
des décorateurs dans un futur cours ou un futur module. Mais c'est fondamentalement ce qu'est un décorateur en Python. Alors maintenant, jetons un coup d'oeil à la portée. Disons que l'une prend un nom. Mais la chose aussi ne va pas prendre un nom. Donc nous pouvons dire Bienvenue pour penser à un nom commun. Et comment allons-nous passer quelque chose à ce nom ? Eh bien, nous pourrions aussi le faire et nous pourrions dire nom. Et puis on pourrait dire nom ici. Et puis si j'ai dit Jacob, ça va dire bienvenue pour en penser un. Jacob, Oh, on aurait besoin d'un nom Doo-Doo-Doo là aussi. Et donc il passe le nom le long, mais honnêtement d'avoir à taper ce même nom de variable encore et encore est irritant. Vous voyez combien de fois je dois taper le nom ici. La bonne chose à propos de la portée Pythonique est si elle ne trouve pas un nom à l'intérieur de cette fonction, si elle ne trouve pas ce nom particulier et que cela pourrait être appelé littéralement n'importe quoi. Mais s'il ne trouve pas cette variable, ce paramètre, cet argument à l'intérieur de sa fonction, cela va regarder en dehors de la fonction. Et il va examiner les choses, une pour une variable appelée nom. Et alors, allons-y et testons ça. Et ne passons pas un nom. Et donc quelque chose aussi va juste dire bienvenue à penser aussi. Il va avoir un nom là-dedans, mais nous ne sommes pas en train de passer quelque chose n. Et donc nous voyons cela beaucoup dans le monde de JavaScript, mais nous ne voyons pas beaucoup cela dans le monde de Python. Allons de l'avant et exécutons ça. Et on va dire quoi ? On va voir qu'il est dit : Bienvenue à penser un Jacob et bienvenue à Jacob. Et c'est parce que même si nous n'avons pas transmis explicitement le paramètre name, ce qu'il a fait était de chercher un nom à l'intérieur de cette fonction particulière. Il ne l'a pas trouvé, donc il semblait juste en dehors de cette fonction. Il l'a trouvé à l'intérieur d'une fonction chose un. Et la bonne chose à ce sujet, c'est qu'elle est portée de sorte que si on essayait d'imprimer ici le nom d'impression, ça n'existera pas. En fait, cela va lancer une erreur de nom,
nom, nom n'est pas défini. Et c'est la bonne chose à propos des fonctions et de la portée avec des fonctions est qu'une fois que vous avez une fonction, si vous avez une fonction imbriquée, vous pouvez utiliser toutes les mêmes variables de cette fonction originale. Et cette fonction originale i dans ce cas, chose une, ne
va pas fuir aucun de ses paramètres ou aucun de ses arguments. Et donc cela garde votre espace de noms et agréable et propre afin que nous n'ayons pas à nous soucier que le nom soit enregistré et que, par magie, nous faisons quelque chose quand tout simplement il n'existe pas. Tout ce que nous avons dit était fondamentalement si vous emballez cela, vous ne voyez pas le nom est égal à n'importe où ici, n'existe pas ici. Et c'est la portée de Python. Maintenant, c'est juste la portée normale de Python. C' est exactement comme cela que Python fonctionne. S' il ne trouve pas le truc, il semble juste à l'extérieur de cette chose. Et comme un résumé, les fonctions à l'intérieur des fonctions est vraiment vous venez de déclarer une fonction, déclarer une deuxième fonction à l'intérieur de celle-ci, ou une troisième ou quatrième ou cinquième fonction à l'intérieur de celle-ci. Tu peux faire quelque chose, tu peux retourner une chose. Vous pouvez faire à peu près tout ce que vous voulez à l'intérieur de cette deuxième, troisième ou quatrième ou cinquième fonction imbriquée. Et vous pouvez juste continuer à imbriquer si vous voulez juste vous devez vous rappeler quelle que soit la fonction que vous enregistrez que vous devez exécuter également. Et donc si vous pensez, pourquoi je ferais ça avec une seule déclaration imprimée ? Honnêtement, tu ne le ferais pas. Mais si vous aviez dix lignes de logique ici et que vous vouliez
réutiliser cette logique deux ou trois fois à l'intérieur de la première chose, vous l'inscririez comme une sous-fonction. Maintenant, votre tâche pour cette leçon est de donner une chance à cela. Fonction créative, fonction imbriquée à l'intérieur de celui-ci, exécutez la fonction imbriquée, exécutez la fonction d'origine, et assurez-vous de passer une sorte d'arguments ou une sorte de paramètre qui est utilisé à la fois dans le et la fonction imbriquée elle-même. Vas-y et essaye-le quand tu seras prêt. Passons à la leçon suivante où nous parlons de faire des requêtes API simples.
9. Comment faire des demandes d'API simples: Allons de l'avant et faisons une simple requête API. Très bien, dans cette leçon, nous allons devoir utiliser un paquet appelé Requests. Donc, tout d'abord, essayons ça. Tapons Python pour entrer dans notre shell. Pyt HON, si je peux épeler ça. Et puis nous pouvons simplement taper des demandes d'importation. Et si vous ne voyez aucune erreur, alors vous êtes prêt à y aller. Nous pouvons continuer. Nous pouvons utiliser les demandes. Si vous voyez une erreur, quelque chose comme ça, importer des demandes pour que vous voyez une erreur de module introuvable, alors nous devons aller de l'avant et installer des demandes. Maintenant, si nous devons installer des requêtes, c'est bon, nous pouvons le faire. Laissons notre coquille ici. Et vous allez avoir besoin d'avoir PIP maintenant, vous devriez déjà avoir pip installé sur votre ordinateur. Si vous tapez Pip dash v, il vous dira un tas de choses ici. Et mon Pip utilise Python 3.8. Maintenant, si vous n'avez pas pip installé sur votre ordinateur, s'il y a une commande ne fonctionne pas pour vous, passez à la leçon où nous installons PIP et nous parlons de paquets et de choses comme ça, puis revenez à celui-ci. Donc, il y a quelques leçons à venir et puis revenez. Mais les versions modernes de Python, si je me souviens bien, viennent avec pip par défaut. Donc, ce que nous pouvons faire ici, en supposant que vous avez les demandes, package ou module, vous pouvez importer des demandes et ensuite vous pouvez simplement dire REQ pour requête est égal à requêtes dot get, puis une URL. Alors faisons HTTPS, Caleb point IO. Et nous pouvons imprimer le statut ici, code d'état
X point et non X. Je suis habitué à taper x, ça devrait être une épave. Je viens de changer le nom de la variable, leur code d'état de req point d'impression. Et allons-y et essayons ça. Python demande API simple dot py. Et il me donne un 200, maintenant un statut 200 et des codes HTTP signifie que le site est opérationnel. Maintenant, à ce stade, vous pouvez faire un programme de surveillance de site assez facilement. On pourrait faire quelque chose comme ça. Allons de l'avant et commentons cela. Et nous pouvons faire des demandes d'importation. Heure d'importation. Vrai sauvage. Req est égal à requêtes dot get, puis votre site Web. Donc, HTTPS cours le codage par point pour chaque code d'état req point d'impression
buddy.com. Et puis nous pouvons dire que si ce code d'état de point req n'est pas égal à 200, nous pourrions envoyer un e-mail, nous pouvons alerter, nous pourrions sortir de ce script. On peut faire tout ce
qu'on veut, alors on va passer. Mais finalement, cela aurait idéalement envoyé un e-mail, envoyer un texte en utilisant l'API Twilio ou quelque chose comme ça. Envoie-moi ou texte-moi, quelque chose comme ça. Et cela va courir très, très rapidement encore et encore et encore. Donc, nous ne voulons pas spamper notre serveur avec des requêtes, mais ce que nous voulons faire est de faire une demande et peut-être attendre 60 secondes. Et pour que nous puissions faire le temps de sommeil 60 secondes. Et donc une fois par minute cela va faire une demande. Mais à titre d'exemple, abaissons ça jusqu'à trois secondes. Et nous allons recommencer et voir ce qui arrive à cent, deux cents. Donc, nous allons voir que cela a constamment tiré sur mes sites pour s'assurer qu'il est en place tout le temps. Fondamentalement, nous venons de créer un programme de disponibilité ou un programme de surveillance de la disponibilité en sept lignes de code avec Python. Et donc pour annuler tout ce que j'ai fait il y avait le contrôle C. Donc je vais vraiment commenter celui-ci. Vous pouvez vérifier ce code source si vous le souhaitez. Et je vais décommenter l'original parce que c'est tout ce que nous avons vraiment à faire pour cette leçon particulière. Tout ce qu'on a à faire, c'est ça. Et c'est une simple requête API. En fait, en fait, ce n'est même pas une requête API. C' est plus ou moins juste une requête HTTP. Mais en Python, c'est si proche d'une API, c'est fondamentalement une requête API. Dans la leçon suivante, nous allons jeter un oeil à faire
une demande d'API à un point de terminaison qui accepte réellement et JSON ou non accepté mais renvoie JSON et comment nous pouvons transformer en dictionnaire Python et travailler avec ces données. Mais pour l'instant, nous allons aller de l'avant et donner des lignes un à quatre un essai, il
suffit de l'essayer et de s'amuser avec elle. Voyez si vous pouvez obtenir un code d'état différent à partir d'un autre site Web. Et si vous obtenez un code d'état différent, quelque chose qui n'est pas un 200, hésitez pas à aller chercher ce que ce code d'état signifie. Si vous n'êtes pas familier avec les codes d'état HTTP.
10. Comment faire des demandes d'API JSON: Très bien, faisons une API JSON requêtes, juste une simple. Donc, on va juste obtenir quelques informations. Nous n'allons pas poster d'informations, mettre ou supprimer ou tout autre terme API. On va simplement obtenir des informations. Et ce sera la chose la plus courante que vous faites en ce concerne les API Python ou l'API est vraiment en général. Donc, à partir de la dernière leçon, nous avons fait des demandes d'importation. Et puis nous avons dit REQ est égal à demander dot get, puis une URL ici. Et nous ne savons pas si cela s'est avéré être HTML ou JSON ou quelque chose comme ça. Nous devons donc trouver un point de terminaison. Donc, si nous nous dirigeons vers l'échange de points, c'est l'un de mes sites API préférés car il est thématique pour le nom de Star Wars. Eh bien, j'aime Star Wars, mais nous pouvons aussi aller échanger e dot dev slash api slash, disons que les gens slash un. Et ça va nous donner des informations sur Luke Skywalker ou sur les gens. Et dis six, qui que ce soit. O quand les menteurs. Et nous pouvons obtenir toutes ces informations JSON. Ce qui est bien à ce sujet, c'est que ce n'est pas beaucoup d'informations, mais c'est assez pour être une grande démonstration. Alors allons de l'avant et obtenons l'échange de points dev slash api slash gens, puis juste un nombre. Donc, ce sera notre URL, HTTPS, swapping dot dev slash, api slash personnes. Faisons la personne à qui que ce soit. Et puis disons que cette personne sera quelle
que soit la demande qui s'avère écrite pour
répondre avec db.json et la personne d'impression. Allons-y et essayons ça. Python faisant des requêtes API JSON. Et ça prend une seconde et nous pouvons voir nous C3PO. Et si vous êtes familier avec Python et les types de données, cela ressemble beaucoup à un dictionnaire, n'est-ce pas ? Maintenant, on peut retirer le nom et dire « imprimer ». Nom IS, onglet. Et faisons une variable F String ici. Disons personne, nom. Et faisons de cela une chaîne F. Que pouvons-nous ajouter d'autre ici ? On a un nom. Nous pouvons également ajouter son année de naissance est la personne, l'année de soulignement de naissance. Et je reçois ça d'ici et d'ici. Alors allons de l'avant et refaisons ça. Le nom est C3PO, l'année de naissance est 112 BY nous allons ajouter un onglet de plus ici. Juste pour aligner ça gentiment. Le nom est C3PO, l'année de naissance est le 12ème, b, y. et maintenant nous avons accès à toutes ces informations ici. Ce qui est cool, c'est que nous avons aussi des films qui ne s'appellent pas des films. Et les films sont simplement une liste de films qui disons trois. C3po ne l'est pas. Jetons donc un coup d'oeil à l'endroit où 3P o est n, et nous allons imprimer quel film ce titre est appelé. Il nous en faut deux. Qu' est-ce que cette URL ? Api films cinq, films coupent cinq. C' est la demande. Et ça s'appelle Attaque des clones. Et c'est aussi un épisode. Disons qu'on veut juste savoir dans quels films il est. On pourrait alors dire pour le film en personne. Films parce qu'il s'agit en fait d'une liste REQ à la demande. Demandes, point obtenir film, URL, impression, film est. Et ensuite on pourra faire du film. En fait, nous avons besoin de JSON FI d'abord. Donc, disons que le film est égal à demander point JSON. Et puis on pourra faire le titre du film. Et ça va imprimer tous les films pour nous. Nous allons également nous donner une déclaration imprimée au-dessus des films impliqués dans. Et faisons ça une fois de plus. Et ça se déclenche et on obtient tous les films. Donc, cela fait une demande
d'API différente, différente pour chaque film dans lequel il est et obtenir ce titre. Et maintenant, nous recevons dynamiquement beaucoup d'informations. On a un personnage C3b. On vérifie quelles sont les vidéos, quels films il est impliqué. Et pour chacun, nous obtenons ces données, ce film entier dans les données, y compris le titre et tout ce que nous faisons est d'imprimer le titre. Et c'est pourquoi quand nous faisons ça, vous pouvez voir qu'il revient un à la fois. Film is New Hope, Empire Strikes Back, Retour des Jedi, Menace
Fantôme, attaque des clones et de la vengeance, ou le CIF. Maintenant, en tête haute, je crois vraiment s'il y a des données manquantes de cette API, mais peu importe, c'est toujours une API amusante à utiliser. Donc, comme un résumé, comment pouvons-nous faire des requêtes d'API JSON ? C' est la même chose que de faire une demande régulière. Mais si ces données s'avèrent être JSON, nous pouvons simplement faire point JSON sur cet objet de requête. Et ça va le jeter dans une variable. On l'appelle « personne ». Et puis nous avons accès à toutes ces données. Toutes ces données dans un dictionnaire Python. Donc ce que j'aimerais que vous fassiez, c'est que vous donniez un coup de feu simple. Vous n'avez pas besoin de faire une boucle for ici. Mais ce que vous pouvez faire est une simple requête ou une requête
GET, puis un fichier JSON, puis imprimer ce que ces données sont. Il reviendra en tant que dictionnaire une fois que JSON aura été défié ou lu à partir de JSON, plutôt, il reviendra comme un dictionnaire afin que vous puissiez avoir accès au nom ou à l' année de
naissance ou à tout ce que l'API vous donne. Allez-y et essayez cela et quand vous êtes prêt, parlons de la façon dont nous pouvons convertir une chaîne qui ressemble à JSON un morceau réel de JSON et un dictionnaire Pythonic.
11. Comment lire JSON dans Python: Ok, jetons un coup d'oeil à la lecture de JSON. Donc, dans la dernière leçon, ce que nous avons fait, c'est que nous avons pris du JSON à partir d'une API et que nous avons juste travaillé avec elle. Et c'était bien parce que les données étaient en fait au format JSON. Ce n'était pas une chaîne, c'était au format JSON. Et donc c'était formidable pour nous et nous
pouvons facilement transformer cela en un dictionnaire en utilisant Python. Mais que se passe-t-il si cela revient comme une chaîne ? Maintenant, ce que je veux dire par là, c'est juste que les données de C3PO dans la dernière leçon ressemblent beaucoup à ceci. Donc C3PO est égal à, nous allons le rendre un peu plus petit ici. Et il y a toutes ces informations ici. Maintenant, nous ne pouvons pas simplement dire nom du crochet
C3PO comme nous l'avons fait dans la dernière leçon parce que c'est une chaîne, ce n'est pas un dictionnaire. Donc, si nous disons C3PO nom et nous essayons de l'imprimer. Python lisant JSON dot pi, nous allons voir que les indices de chaîne doivent être des entiers. Et c'est simplement parce qu'il essaie de trancher ça. Il sait que c'est une chaîne, et donc ce n'est pas un dictionnaire n'a pas de clé ou une propriété appelée nom. Donc, nous devons convertir ça. Maintenant, nous pouvons le faire avec la bibliothèque JSON. Tout ce qu'on a à faire, c'est taper. Je vais faire cela juste une touche plus grande, leur JSON d'importation. Et nous avons C3PO ici. Ce que nous pouvons faire maintenant est un C3PO est égal à C3PO. Mais nous mettons simplement JSON dot load, load s. Il ressemble au mot load, mais ce que cela signifie réellement est une chaîne chargée. Donc, nous prenons cette chaîne et nous la jetons dans un outil de conversion qui va transformer cela en un dictionnaire pour nous. Et si cela est correctement formaté, nous ne verrons aucune erreur. Et donc maintenant, vous allez voir quelque chose comme ça avec cet exemple particulier de toute façon, il va dire quelque chose dans le sens d' attendre le nom de la propriété entre guillemets doubles. Et c'est parce que, devinez quoi ? Ce n'est pas correctement formaté JSON et il s'agit d'un dictionnaire de Python. Maintenant, si on retourne ici, des gens comme T, Allons chercher C3PO. Vous pouvez voir que toutes ces données ont des guillemets doubles, ne
sont pas des guillemets doubles, mais n'utilisent pas au moins des apostrophes. Alors allons de l'avant et copions ça. Et donnons-lui JSON correctement formaté, ce qui signifie que nous devons échanger les apostrophes que nous utilisions. Et allons de l'avant et utilisons trois comme une chaîne de doc. Donc on peut avoir plusieurs lignes là-dedans. Allons-y et essayons ça. Cool Cool, Cacao, Cacao, ça marche. Donc, même si c'est sur plusieurs lignes, c'était très bien. Nous avons C3PO est égal à cette chaîne JSON géante. Ce n'est pas un objet JSON, ce n'est pas un dictionnaire, c'est une chaîne en ce moment. Et puis nous avons dit que C3PO est égal à la charge de points JSON s. Et puis cette chaîne, cette chaîne ici, et elle l'a simplement convertie en un dictionnaire pour nous. Alors allons de l'avant et tapez, imprimez le type C3PO. Et nous allons voir que ce sera un dictionnaire,
ce sera un t. DIC il y a, dict de classe. Maintenant, ce qui est cool à ce sujet, c'est que nous pouvons ensuite mettre ceci dans un autre fichier après l'avoir ajouté. Alors allons-y et supprimons ça. Et nous allons changer quelque chose dans votre nous allons changer C3PO est nom à autre chose. Donc nous pouvons dire que le nom de C3PO est égal à mon ami Caine comme clé. Et maintenant, ça ne va changer que dans le dictionnaire. Cela ne va pas le changer dans le texte actuel ici, nous devons le convertir. Et donc pour le convertir,
nous faisons simplement le vidage de points JSON, S, chaîne de vidage, C3PO. Et faisons C3PO. La chaîne de soulignement est égale à, et nous allons l'imprimer. Imprimer C3 POSTAR. Et pour ce faire, il y a toutes ses données. Cela revient en tant que chaîne et le nom est Ksp. Nous avons maintenant pris les données JSON comme une chaîne et
vous allez le faire, vous allez travailler beaucoup avec cela. Il est donc important de savoir comment fonctionne JSON. Tout n'est pas parfaitement formaté dans le monde des développeurs ou dans le monde humain du tout. Et donc nous avons pris une chaîne, nous avons dit converti en dictionnaire approprié en utilisant la charge JSON s. Ensuite, nous changeons le nom. Puis on a dit, oh, en fait, ce qu'on veut faire, c'est qu'on veut vider ces données. Donc on change ce nom, gros, on l'a changé ici. Et puis nous retournons ces données dans une chaîne en utilisant la chaîne de
vidage S. Dump, lui avons donné une chaîne, puis l'imprimer. Et c'est vraiment tout ce qu'on avait à faire. Ce que j'aimerais que vous fassiez, c'est que vous donniez un coup de feu. Je veux que tu l'essayes. C' est vraiment important si vous allez utiliser JSON beaucoup, peut-être pas tous les jours en tant que développeur Python, mais certainement toutes les semaines ou toutes les deux semaines. Donc c'est très, très commun. N' hésitez pas à voler ce code juste parce qu'il a le dictionnaire ou pas le dictionnaire, mais la chaîne de données JSON ici. N' oubliez pas d'importer JSON, JSON dot load s. Et encore une fois quand JSON est importé, json.dumps S, et cela signifie load string, dump, string.
12. Quelles sont la fonction *args ?: Jetons un coup d'oeil aux arguments de fonction. Donc, dans la nature, dans beaucoup de, beaucoup de, beaucoup de Python, surtout dans le lac, le monde de Django. Tu vas voir quelque chose comme chose de sourd, moi, demande, args, star, quarks. Et donc, dans cette leçon, jetons un oeil à ce qu'est args. Parce que, eh bien, ça va venir avec les cours. Nous n'avons pas besoin d'auto-requête est un truc Django, mais cela pourrait vraiment être n'importe quoi, disons le nom. Et puis il faut une sorte d'arguments, puis une sorte d'arguments de mots-clés. Donc, ignorons les arguments des mots-clés pour l'instant, et travaillons simplement avec args. Tout d'abord, quand on travaille avec nos œufs, on s'en débarrasse parce qu'on ne l'utilise pas. Si nous disséquons cette fonction ici. À quel type de données cela ressemble-t-il ? Tu devrais dire que ça ressemble à un tuple. Et c'est comme ça que Args revient. Args revient toujours comme un tuple. Donc, créons une fonction ici où au lieu de chose Sourd, nous allons dire ajouter des nombres. Et nous allons simplement imprimer les arguments et nous allons nous débarrasser du nom parce que ce sera un argument positionnel requis. Nous ne voulons pas cela et nous voulons juste lancer un certain nombre d'arguments. Et la bonne chose à propos d'args ici est que vous pouvez passer un nombre illimité d'arguments et cela fonctionnera juste. Donc maintenant, disons ajouter des nombres 13579. Et allons-y, oui, on y va. Maintenant, cela ne va pas réellement ajouter les chiffres, mais cela va imprimer 13713579. Donc, la fonction args dot py, et il revient comme 13579. Jetons un coup d'oeil à ça. Disséquons ça un peu. Voyons ce que c'est vraiment. C' est un tuple ou je te tirais la jambe ? Regarde ça. Je ne te mentirais pas. Je ne te ferais pas ça. C' est un tuple. Et donc tous les arguments, pas les arguments de position. Par exemple, si nous avons un argument positionnel appelé name, j'utiliserai un Caleb comme exemple. Ce nom ici Caleb est affecté aux premiers arguments de position. Tout après cet argument de position est un, est un arg d'étoile, ou juste un argument régulier. Et donc ce que ça fait,
c'est dire , oh, faisons correspondre le premier. Et puis si nous ne faisions pas semblant, où, si nous faisions semblant que cela n'existait pas, les autres seraient des arguments. Et maintenant, nous pouvons travailler avec tout ça. Ce qui est cool à ce sujet, c'est que nous pouvons dire que le total est égal à 0. Et si nous voulions ajouter tous ces nombres, nous pouvons dire pour num dans args, total est égal au total plus quel que soit ce nombre va être. Donc ça va ajouter 13579 ensemble. Retour total. Et puis ici, nous pouvons dire que le total est, est ajouter des nombres. Caleb, 13579. Imprimez le total. Et nous allons en fait nous débarrasser de ces arguments positionnels requis parce que nous ne l'utilisons pas. Alors pourquoi il est là ? Et faisons ça et on en a 25. Ajoutons cela ensemble dans nos têtes pour nous assurer que cela fonctionne. Un plus trois est quatre plus cinq est neuf, plus 716 plus neuf est 25. Et maintenant, nous pouvons prendre des arguments illimités en utilisant le mot-clé args. Maintenant, il n'a pas besoin d'être un RGS. Il doit juste être délimité par cette étoile. Et c'est ainsi que Python sait que ce sera le reste des arguments. En JavaScript. Je crois qu'on utilise un truc qu'on appelle un opérateur de repos. Donc, un point à points. En Python, nous utilisons une étoile ou un astérisque. Et cela dit simplement Python que le reste de ces fonctions ou le reste de ces arguments dans cette fonction va être un ensemble d'arguments. Et donc il sait les emballer, les
jeter dans un tuple appelé args, et ensuite nous pouvons travailler avec tous ces arguments. Maintenant, ce que j'aimerais que vous fassiez, c'est essayer. Je veux que vous créez une fonction où vous ajoutez
peut-être tous les nombres ensemble ou vous multipliez tous les nombres ensemble, faites une sorte d'ajout de base ou de multiplication ou quelque chose comme ça. Et vous pouvez même prendre des noms. Si vous vouliez prendre une série de noms, ils ne le font pas, ce n'est pas forcément des chiffres. Nous utilisons juste des chiffres parce que c'était simple. Mais vous pouvez utiliser une série de noms et imprimer tous les noms indépendamment de ce que vous finissez par essayer. Je veux que tu essaies ça parce que tu vas voir des args de star partout. Au niveau professionnel, Python, c'est très, très important que vous compreniez comment cela fonctionne. Quand tu auras fini ça. Dans la leçon suivante, parlons de cette chose appelée quarks, arguments de
mots-clés, et qui est délimitée par deux étoiles. C' est un peu différent, un peu pareil.
13. Quelles sont la fonction **kwargs ?: Ok, jetons un oeil aux arguments de mots-clés dans une fonction. Si souvent, vous verrez chose def, un argument positionnel, argument positionnel requis argument. Comment vous pourriez avoir quelque chose comme un argument optionnel positionnel. Donc le nom aij est égal à 31 par défaut, alors vous pouvez avoir une forme d'arguments là-dedans, n'importe quel type d'arguments. Ils n'ont pas de nom. C'est tout simplement comme 1357 ou neuf comme nous l'avons fait dans la dernière leçon. Et puis nous avons des arguments de mots clés. Et c'est si pleine fonction, c'est à peu près tout ce que nous pouvons faire à l'intérieur d'une fonction. En ce qui concerne les paramètres. Nous savons donc que ce nom sera nécessaire, absolument nécessaire. Les âges, optionnels, que ce soit là ou non, n'a pas vraiment d'importance. L' âge sera toujours de 31 ans. Ensuite, nous avons des arguments. Et cela pourrait être n'importe quel nombre d'arguments, peut être littéralement un nombre illimité d'arguments. Il revient comme un tuple et nous pouvons faire une boucle à travers les données dans ce tuple. Args de mots-clés, quarks est délimité par deux étoiles, deux astérisques. Et ce que cela signifie, au lieu de revenir comme un tuple, revient comme un dictionnaire parce que les arguments de mots-clés ressemblent à ceci. La chose est égale à quelque chose. Ou si nous faisons ça en termes pythoniques chose quelque chose. Donc c'est un peu plus dictionnaire comme. Donc, continuons et supprimons ceci et créons un exemple où nous utilisons des quarks. Si sourd. Disons qu'une personne a une sorte d'attributs. Nous ne savons pas encore quels sont ces attributs, mais nous pouvons les parcourir. Donc, tout d'abord, nous allons imprimer les quarks et imprimer le type de quarks. Et exécutons la personne et disons que le nom est égal à Jacob. Aij est égal à 27. Le cerveau est égal à énorme. Et ce qui est génial, c'est que je connais une personne qui s'appelle Jacob. Je crois qu'il a environ 27 ans. Et c'est probablement la personne la plus intelligente que j'ai jamais rencontrée. Fonction Python quarks dot py. Et nous allons voir qu'on a un dictionnaire nommé Jacob, 27
ans, cerveau énorme. Et tout cela a été littéralement emballer cela et jeter ces arguments de mots-clés dans un dictionnaire pour nous. Donc maintenant, nous pouvons travailler avec ça. Nous avons quelque chose avec qui travailler. Donc, nous pouvons maintenant dire dans notre fonction, si, vérifions si l'âge est en quarks. Imprimez votre âge est. Et puis on peut faire des quarks dot-dot parce que c'est juste un dictionnaire. Et nous savons comment utiliser le point getMethod déjà. Quarks dot obtenir le nom. Et c'est maintenant que nous utilisons l'opérateur in, nous utilisons Get, nous utilisons des dictionnaires utilisant un conditionnel, nous utilisons des arguments de mots-clés, nous utilisons une fonction et nous utilisons des instructions d'impression et le nom. Pourquoi j'ai mis le nom ? J' aurais dû mettre de l'âge. Si vous criez à votre écran aller application. Eh bien, vous pourriez attraper. Ça dit que vous êtes. Juste l'un après l'autre ici, juste le tuer aujourd'hui. Vous avez 27 ans. Coucou, coucou, coucou. Faisons semblant que j'ai eu ça au premier essai. Alors maintenant, vous pourriez penser, où est en fait utilisé Lake. Et cela semble un peu farfelu. Et si vous pensez que vous n'avez pas tort, mais vous n'avez probablement pas tout à fait raison non plus. Un bon exemple de cela serait comme, disons que vous voulez commander des pizzas sur un site Web. pizzas sourdes. Nous avons besoin d'un nom d'argument positionnel. Nous avons besoin d'une adresse pour le livrer. Et disons des garnitures. Maintenant toppings va être un argument de mot-clé. Et on peut dire que l'ordre d'impression est pour le nom. Je vais utiliser une chaîne F ici. Et l'adresse est de l'expédier à l'adresse. Maintenant, nous devons trouver une sorte de prix. Donc, le prix en ce moment sera, disons, un défaut de 18$. Et pour chaque sujet que nous
avons, nous voulons ajouter 2$ supplémentaires. Donc maintenant, nous pouvons faire une boucle à travers les garnitures. Nous pouvons dire pour la valeur clé dans les articles de garniture. Parce que nous savons qu'il s'agit d'un dictionnaire et que nous pouvons simplement
parcourir toutes les garnitures afin que nous ne nous soucions pas vraiment de ce que sont les sujets. Ça pourrait être, du pepperoni, du jambon, ananas, du fromage supplémentaire, pourrait t'aider comme je ne sais pas, ça n'a pas vraiment d'importance. On veut juste trouver le prix ici. Nous allons donc parcourir tous les éléments du dictionnaire qui nous donne une paire de valeur clé. Et franchement, nous n'avons même pas besoin d'utiliser la clé ou la valeur. Donc, le fait que nous utilisons des points est complètement inutile. C' est juste bon, par exemple, le code dans cette vidéo. Alors allons de l'avant et disons pour chaque article de l'année, des prix égaux au prix plus 2$. Imprimantons ça. Quand on aura fini. Le prix total est le prix, et nous allons le prix de retour. Alors allons de l'avant et maintenant commandé cette pizza. Comment instancier cette fonction particulière ? On commande des pizzas parce que c'est le nom. Disons que ça va aller à Amanda. Elle vit au Canada. Et quel genre de garnitures veut-elle ? Et dire comment Pena tos est égal à true à argument mot-clé. Le fromage supplémentaire est égal à vrai, et le jambon est égal à vrai. Donc on a une baise positionnelle juste un peu ici. Argument positionnel requis appelé nom et un autre appelé adresse. Tout le reste est considéré comme un argument de mot-clé. Donc, si nous commandons cette pizza, c'est, nous pouvons maintenant dire que le prix total est égal à cela. Allons de l'avant et exécutons effectivement cette fonction Python, quarks. Et il y a des ordres pour Amanda expédier au Canada. Le prix total est de 24,024$. Et c'est parce qu'on a 246 dollars de plus. Parce que chaque sujet vaut 2$ et le prix de base est 18. Et c'est un exemple réel de la façon dont vous pourriez éventuellement, si vous vouliez utiliser des arguments de mots-clés. Vous pouvez également vérifier si les adresses dans les arguments du mot-clé. Parce que si address était dans les arguments de mot-clé, vous pouvez soit l'ignorer ou si ce n'était pas un argument positionnel obligatoire comme celui-ci. Si c'était là, alors génial, vous savez, ou pour expédier la nourriture ou livrer la nourriture à,
vous savez, est-ce qu'on expédie de la nourriture ? On livre de la nourriture ? Pour livrer la nourriture à ? Sinon, si les adresses ne sont pas en garnitures. Et nous vérifions simplement s'il y a une clé à l'intérieur d'un dictionnaire. Si les adresses ne figurent pas dans les garnitures, vous devrez demander une adresse à l'utilisateur. Et c'est une situation réelle. C' est ainsi que vous commandiez des pizzas en utilisant Python. Maintenant, j'aimerais que tu lui donnes un coup de feu. Je vais annuler cela à ce code fonctionne réellement. Allez-y et créez une fonction qui prend quelques arguments positionnels requis, puis laissez-le à l'exception des arguments de mots-clés avec étoile, étoile. Et encore une fois, il n'a pas besoin d'être appelé kw args et args mot-clé. Vous le verrez probablement comme ça. On peut l'appeler n'importe quoi. Mais le plus souvent, vous allez le voir comme des quarks. Vas-y, essaye-le. Vous allez avoir besoin de savoir comment cela fonctionne lorsque nous passons dans des choses comme Django parce que nous utilisons des arguments de mots-clés partout dans Django. Dans la leçon suivante, parlons de la façon dont nous pouvons installer PIP.
14. Comment installer du piège: Jetons un coup d'oeil à la façon dont vous pouvez installer pip. Alors tout d'abord, qu'est-ce que Pip ? Pip est un paquet. Je suppose que c'est considéré comme un paquet, mais les gens vous permettent essentiellement d'installer des paquets tiers en utilisant Python. Donc, si vous avez déjà utilisé JavaScript, vous avez peut-être utilisé NPM. En PHP, il s'appelle Posner, je crois composer compositeur. Je pense que c'est compositeur et ça fait un peu de temps. Et en Python, nous l'appelons PIP. Et donc comment cela fonctionne est que nous pouvons dire le nom du paquet pip install, et cela le rend disponible sur notre ordinateur pour nous afin que nous puissions maintenant utiliser le code d'autres personnes sur notre ordinateur. Maintenant, si vous n'avez pas, par exemple, requêtes installées, vous pouvez simplement faire des requêtes d'installation pip. Maintenant, vérifions si vous avez réellement pip installé en premier, faisons Pip dash v terminal interne. Et j'ai pip installé. Si vous ne l'avez pas, si cela vous donne une sorte d'erreur, comme une commande introuvable sorte d'erreur, nous allons devoir installer PIP. Maintenant, si vous avez déjà pip installé et que vous avez peut-être déjà installé pip, juste parce que Python pourrait venir avec. Si Python est livré avec votre version de Python est livré avec Pip, vous pouvez ignorer le reste de cette vidéo. Si vous n'avez pas de PIP, allons de l'avant et installons PIP maintenant. Donc, pour installer pip, ce que nous allons vouloir faire, c'est que nous voulons, tout d'
abord, bouclé est vers notre ordinateur. Nous voulons donc télécharger ce fichier sur notre ordinateur. Et donc nous pouvons le faire avec curl sur notre terminal, barre oblique deux-points
HTTPS, point bootstrap p, y p paquets Python dot io slash get tiret, Pip dot py que nous ne faisons dash o et nous allons l'appeler get pip dot py. Maintenant et voir si j'ai des fautes de frappe dans l'année en raison de, en raison du téléchargement du fichier. Et si je fais ls tiret LA ou si vous êtes sur Windows, vous pouvez écrire DIR. Et on a un pip ? Nous avons une fonction appelée get pip. Super, c'est ce qu'on veut. Donc maintenant, une fois que vous avez ce fichier, tout ce que vous avez à faire est de taper Python, obtenir pip dot py. Et cela va aller de l'avant et obtenir un PIP d'installation sur votre ordinateur pour vous. Maintenant, cette commande est juste ceci. Curl HTTPS slash deux-points bootstrapped pi,
pi a PIPA dot io slash getDish, Pip, point PY, get tiret, Pip point pi. Alors n'hésitez pas à mettre la vidéo en pause ici si vous en avez besoin. Si cela n'est pas disponible pour vous sur cette plate-forme, pour copier et coller, vous pouvez simplement mettre la vidéo en pause et l'écrire. Et puis vous devez exécuter Python, obtenir pip dot pi. Et une fois que cela est fait en cours d'exécution, vous devriez être capable de faire Pip dot dash v. Et Pip dash v va vous montrer votre version Pip où elle est utilisée. Donc, pour une raison quelconque, ma version Pip utilise 3.8, Python 3.8. Et ça me dit python 3.8 ici. Maintenant, installer un paquet est aussi facile que de dire quelque chose comme pip install, couleur Emma. Et ça va s'éteindre et télécharger un tas de trucs. Ça dit que c'est déjà satisfait pour moi. Je suppose que je l'ai déjà en quelque sorte. Et je peux désinstaller en faisant Pip désinstaller ColorRAMP. Ouais, débarrassons-nous de ça. Il n'a pas besoin d'être sur mon ordinateur, donc je me suis débarrassé de ça. Un autre que vous pourriez, vous pourriez éventuellement vouloir s'il ne vient pas avec votre version de Python est aller dans votre shell et simplement taper des requêtes d'importation. Ok, ça a marché pour moi. Mais si vous voyez une erreur qui ressemble beaucoup à ce module, Erreur
non trouvée, vous devrez installer des requêtes. Alors allons-y et démissions. Et vous pouvez faire des demandes d'installation pip. Et cela nous permet alors dans notre code, ce que nous avons vu auparavant était comme des demandes d'importation ou d'importation JSON. Et cela nous permet juste d'importer le code d'autres personnes. Maintenant, Python est livré avec certains de son propre code, comme vous n'avez pas besoin de la bibliothèque JSON. Il vient juste avec Python. Cela ne fait tout simplement pas partie de la partie centrale de Python. Vous importez donc JSON, alors que les requêtes peuvent ou non venir avec votre version de Python. Si ce n'est pas le cas, vous devez faire des demandes d'installation pip et ensuite nous pouvons dans notre code, des demandes d'importation.
15. Mutable et Mutable: Bon, bienvenue. Jetons un coup d'oeil à cette idée de quelque chose qui peut être mutable ou immuable. Et ce sont des mots fantaisistes car quelque chose est changeable par rapport à un changeable ? C'est tout ce que c'est. Développeurs, programmeurs, nous aimons vraiment nos mots fantaisistes. Donc, nous utilisons immuable et mutable, vraiment juste signifie changeable et immuable. C' est ça. Mais il y a quelque chose à noter ici est lorsque vous travaillez avec certaines variables, certaines choses sont mutables ou changeables et certaines choses sont immuables, immuables. Et donc, par exemple, vous pourriez penser qu'une chaîne est mutable, ce n'est en fait pas, n'a pas changé. Donc si nous avons une sorte de ficelle ici et qu'on nous dise, le renard a sauté par-dessus la vache. Et puis nous avons dit que la chaîne est égale à autre chose. Nous pensons peut-être que c'est en fait mutable, mais ce qui se passe vraiment dans les coulisses ici est quelque chose de très, très différent, quelque chose que vous n'attendez pas nécessairement. Donc, la chaîne ici prend cette chaîne particulière et la bloque dans un petit morceau de mémoire sur votre ordinateur. Et on l'a surnommée chaîne. C' est le nom de la variable. Maintenant, dans les coulisses, nous ne pouvons rien changer. Et donc si nous avons fait des points de chaîne en haut, et nous allons imprimer ceci, allons imprimer des points de chaîne en haut, et nous allons également imprimer juste la chaîne régulière. Et faisons Python mutable vs. immuable. Nous allons voir que l'un est en majuscules et l'autre n'est pas en majuscules. Et ce que vous voyez en fait ici, c'est la chaîne prend tout cela, transformant en majuscules, mais il ne le restaure pas dans cette variable particulière. Ce qu'il fait en fait, c'est de garder ça en mémoire et de vous laisser l'utiliser. Maintenant, si nous le voulions, nous pourrions essayer d'écraser cela. Nous pouvons dire que la chaîne est égale à trop écrite. Et absolument cela va marcher pour nous. Mais dans les coulisses, c'est faire quelque chose que vous ne vous attendez pas. Dans les coulisses, il dit, Ok, chaîne est égale à cette phrase particulière ici. Et puis cette chaîne est en cours d'écrasement. Ça a un morceau de mémoire. Cela a un autre morceau de mémoire. Donc, nous ne mettons pas cette pièce dans cette corde et ensuite mettre cette pièce dans la même corde, nous l'écrasons complètement. Donc nous disons que ça a un morceau de mémoire. Cela ne peut pas être modifié une fois qu'il est là et là pour toujours, ou jusqu'à ce que votre script se termine, au moins. Alors on dit, ok, eh bien, on sait qu'il y a un morceau de mémoire appelé « string ». Nous allons écraser cela avec un nouveau morceau de mémoire et l'appeler écrasé. Donc, dans les coulisses, vous ne pouvez pas réellement changer une chaîne. Maintenant à propos de sauvage, parce que vous penseriez que vous pourriez être capable de changer une chaîne, mais cela ne fonctionne pas comme ça en informatique. Donc un autre exemple de ceci serait comme une liste. Donc nous pourrions avoir des noms est égal à Caleb, Jacob, pieux, et Amanda. Ce qui est différent à ce sujet, c'est que nous utilisons une liste. Et même si ces chaînes ici, ces éléments individuels sont immuables, la liste elle-même est mutable, signifie que nous pouvons la changer, nous pouvons y ajouter, nous pouvons y ajouter. Donc, nous pouvons faire des noms dot append. Et ajoutons le chat nommé rhubarbe, les noms d'impression. Et vous remarquez comment nous n'avons pas fait les noms est égal à deux noms dot append. On n'a pas fait ça. Nous assignons simplement à la variable ici. Et puis nous avons dit avec cette variable, ajouter quelque chose, puis imprimer ça. Allons de l'avant et exécutons ceci et nous voyons l'exemple écrasé. Les deux premières lignes. Ensuite, nous voyons Caleb, Jacob, gardien, Amanda et rhubarbe. Et curieusement, contrairement à ceci, où nous avons fait de la chaîne de points-points, cela ne l'a pas sauvegardée en majuscules. On peut le voir ici. C' était une fois en majuscule, mais il ne l'a pas sauvegardée en majuscules. Alors que les noms avec une liste, il l'a fait. Nous définissons cette variable, quelle que soit cette variable en tant que liste. Ensuite, nous avons dit que le point de liste ajoute un nouvel élément, en ajoutant un nouvel élément à cette liste, et il l'a automatiquement enregistré pour nous. Cela signifie que les listes sont mutables, mais les chaînes ne sont pas mutables. Maintenant, est-ce important dans votre vie de python de tous les jours ? Non, sauf si vous allez entrer dans la science des données et que vous avez des quantités
géantes de données et que vous devez être très performant dans le développement web. Nous n'avons pas vraiment besoin de le savoir, mais c'est une bonne chose à savoir quand même. Maintenant, comme vos devoirs, ce que je voudrais que vous fassiez, c'est partir et Google est un tuple, mutable ou immuable. Nous savons, euh, la liste est mutable. Nous savons qu'une chaîne est immuable, mais un tuple est comme une liste à laquelle vous ne pouvez rien ajouter. Est-il considéré comme mutable ou immuable ? Tu vas devoir aller faire un peu de recherche pour celle-là. Quand vous avez terminé, passons à la leçon suivante où nous parlons ce mot fantaisie appelé numération E.
16. Qu'est-: Kelley Dhaka Lee, parlons de cette chose appelée numération E. Et vraiment tout cela va faire, c'est que nous allons parcourir une
sorte de liste et nous allons obtenir le numéro d'index de celle-ci. Donc on pourrait créer une liste, disons que les animaux sont égaux à une liste de ravins, rhubarbe, de Zafar et d'Henry. Et puis nous pouvons dire pour l'animal, chez les animaux, imprimer l'animal, mais comment pouvons-nous savoir exactement quel ordre ce n'est pas ? Comment savoir que la rhubarbe sera numéro deux ? Ou comment savons-nous qu'Henry allait être le dernier ? Actuellement, nous ne le faisons pas. Et donc si nous exécutons ce code, nous allons voir que c'est une norme pour la boucle. Nous avons appris cela en Python one-to-one, rien de fantaisie, rien de nouveau, rien d'excitant. Donc, si nous voulions obtenir la numérotation ici, nous utilisons cette fonction appelée enumerate et nous enveloppons notre liste dedans. Et ce que cela va faire, c'est que si nous essayons de faire ça, vérifiez ceci. Ça nous donne un tuple. Et c'est en fait chaque élément ici est un tuple. C' est un tuple de tuples, une liste de tuples plutôt. Et donc 0 et bon sang, une rhubarbe à HHS effort trois, Henry. Maintenant, nous avons ces valeurs d'index. Et parce qu'il y en a deux ici, on peut faire ce qu'on appelle le déballage. Donc, nous pouvons faire l'index puis l'animal. Et puis si nous imprimons juste l'animal qui va apparaître comme la première fois. On pourrait imprimer l'index puis cet animal. Et on peut voir ici 0 ravin, un, rhubarbe à Zafar, trois Henry. Alors maintenant, on commence à avoir ce numéro d'index. Maintenant, on peut faire quelque chose avec ça. Nous pouvons dire si le module d'index deux est égal à 0, donc chaque seconde continue. Et puis si nous ne continuons pas, si l'index avec un module de deux a un reste de 0 ou n'a pas un reste de 0, imprimez cet animal. Et donc ça ne va pas seulement montrer à chaque seconde. Ça montre la rhubarbe et Henry. Ou comme exemple alternatif ici, ce que nous pouvons faire est que nous pouvons imprimer avec un index F String plus un chiffre. Faisons un onglet qui n'est pas faire des tablettes spatiales, il suffit de faire l'onglet. Et puis l'animal. Et ça va ressembler à une liste numérotée appropriée pour nous. 1234, Kelly rhubarbe est EFR et Henry. Donc maintenant on va quelque part avec ça. Maintenant, énumérer est assez pratique. J' utilise probablement une ou deux fois par semaine dans le code de niveau professionnel. Et donc vous allez avoir besoin de savoir ce que fait l'énumération. Et vraiment tout ce qu'il fait est de dire, hey, donnons-lui quelques valeurs d'index ici. Donc, ça va être 0, ça va être un, ça va être deux,
et ça va être trois simple addition est
que tout ce qu'il fait est d'ajouter des valeurs d'index parce que parfois vous avez besoin de ces valeurs d'index. Allez-y et essayez ça. Dans la leçon suivante, nous allons parler de la compréhension des listes.
17. Compréhensions de liste: Bon, jetons un coup d'oeil à la compréhension de la liste. Donc, une compréhension de liste est vraiment juste une méthode abrégée pour écrire une boucle pour et mettre toutes ces données dans une liste. Maintenant, nous verrions un ancien exemple, comme les éléments est égal à quelque chose comme ça. En fait, ce n'est pas dû. Allons-y. Numbers est égal à une liste de nombres. Pour num en 13579. Numbers dot ajoute tout ce que ce nombre va être à la puissance de deux numéros d'impression. Et donc nous voyons 19, 25-40, 981. Donc tout ce qu'on a fait, c'était d'exposer le numéro contre le numéro deux. Donc, nous avons dit un à la puissance de 23, à la puissance de 25 à la puissance deux est
d'avoir une priorité de neuf à la puissance deux et vous l'obtenez. Il y a un moyen plus rapide de le faire en Python. C' est une chose très pythonique à faire, et ça semble très bizarre au début. Mais au lieu de le faire le long chemin, nous pourrions dire que les nombres sont égaux à une sorte de valeur pour une valeur dans une liste d'une sorte quelconque. Et donc ce que nous disons ici, c'est regarder ça pour boucle. Et cela ressemble beaucoup à Num dans une liste de 13579. Et vérifiez cela même quand un surligné, c'est exactement la même chose. Et tout ce que nous faisons, c'est retourner cette valeur à gauche. Alors maintenant, nous avons engourdis. Nous pouvons utiliser engourdi au lieu de x num à la puissance de deux. Et nous allons imprimer des numéros une fois de plus. Et lançons ça. On va voir que c'est exactement la même chose. Donc maintenant, au lieu d'écrire 123 lignes de code, vous savez, étant donné que ce ne sont que trois lignes de code. Nous avons tout écrit en une seule ligne de code. Et donc encore une fois, nous venons de dire la réponse pour une sorte d' itération ou itérable dans une liste de choses ou une liste d'itérations. Et nous avons des crochets autour. Et les crochets qui l'entourent signifient que cela va être une compréhension de liste. Nous pouvons faire quelque chose de très similaire avec des dictionnaires appelés compréhension de dictionnaires, dont nous allons apprendre dans la prochaine leçon. Mais pour l'instant, on a juste besoin de savoir qu'on a un support rigide ici, qu'on
dirait une liste et qu'on a des trucs bizarres ici. Maintenant, ce que je veux que vous fassiez, c'est que je veux que vous essayiez cela parce que les compréhensions de liste sont très, très populaires en Python. Ils sont beaucoup plus populaires qu'une compréhension de dictionnaire. Et tu vas avoir besoin de savoir comment ça marche. Donc quand tu le vois, tu ne le regardes pas et tu pars,
oh, je ne sais pas ce que ça veut dire. Je ne sais pas ce que c'est. Je ne sais même pas comment ça s'appelle. Vous savez maintenant que cette syntaxe bizarre ici est votre réponse pour votre itération dans un itérable enveloppé dans une liste. Et c'est identique à ce que nous avons écrit ici. C' est juste un peu plus court. Alors vas-y, essaye-le. Amuse-toi un peu avec ça. Essayez de le casser, essayé de le comprendre. Probablement passer cinq minutes dessus dans désordre et voir ce que vous pouvez et ne pouvez pas faire. Si vous voulez aller plus loin, je suggérerais certainement de partir et chercher comment vous pouvez ajouter une déclaration if ici. Parce que vous pouvez avoir des déclarations if et else à l'intérieur des compréhensions de liste aussi. Donc, vous avez une grande ligne avec une boucle for. Et vous pouvez avoir une instruction if à l'intérieur de cette boucle pour et seulement sortir quelque chose s'il y a une réponse particulière. Vas-y, essaye-le quand tu seras prêt. Passons à la leçon suivante où nous avons appris sur la compréhension des dictionnaires.
18. Compréhensions du dictionnaire: Bienvenue dans la compréhension des dictionnaires. Donc, comme une compréhension de liste, une compréhension de dictionnaire peut aussi être écrite en une seule ligne. Alors allons de l'avant et créons un long exemple ,
puis nous allons le recréer avec un exemple plus court. Donc, faisons un exemple où nous voulons créer un dictionnaire à partir d'une liste de tuples. Et pour que nous puissions dire quelque chose comme ça. Les noms sont égaux à, nous avons une liste et puis un tuple ici nommé Caleb, profession, codeur. Maintenant, pour transformer ça en dictionnaire, nous aurions quelque chose comme d est égal à et ensuite quatre. Et parce que c'est un tuple avec deux éléments dedans, nous pouvons le décompresser. Donc, nous pouvons dire pour la valeur de clé dans les noms, D0, C0 est égal à la valeur. Et puis on peut imprimer n'importe quel D pour dictionnaire. Donc dictionnaire Python. Et vous pouvez voir qu'il y a un dictionnaire maintenant nom Caleb occupation coder. Nous pourrions même vérifier que c'est en fait un dictionnaire, bien que, je veux dire, nous pouvons le regarder par sa syntaxe. Mais voyons à quoi ça ressemble. C' est en fait un dictionnaire. Et donc tout ce qu'on a fait ici, c'est de créer un dictionnaire à partir d'une liste. Le long chemin, il y a un moyen plus court de le faire. Allons-y et débarrassons-nous de ça. Et je vais rendre ça un peu plus court. Pour que nous puissions voir le code. Donc maintenant, nous pouvons dire que D est égal à une compréhension du dictionnaire. Donc, nous mettons généralement une sorte de clé, une
sorte de valeur pour la valeur de clé dans, disons des noms, qui est un itérable. Donc, écrivons ceci sur le long chemin. Il s'agit donc d'une valeur de deux-points clé pour chaque valeur de clé dans les noms. Allons de l'avant et imprimer d à nouveau, et nous allons voir que c'
est exactement la même chose, va regarder exactement le même haut et le bas, juste comme ça. Et donc tout ce qu'on a fait ici, c'est qu'on s'est ouvert et fermé avec des accolades. Nous avons dit le deux-points, tout comme un dictionnaire ordinaire quand nous créons un dictionnaire à partir de zéro. Il a alors une valeur. Et puis nous disons que la clé et la valeur proviennent des articles déballés. Dans un itérable. Qi était le premier article déballé, la valeur était un deuxième article déballé. Et les noms sont l'itérable ici. Maintenant, c'est beaucoup plus facile à écrire que d'avoir à écrire ces trois lignes. Et vous pouvez également ajouter des déclarations if ici aussi pour assurer que vous ajoutez seulement certaines informations, que je vais vous laisser rechercher vous-même parce que c'est une partie importante de l'apprentissage du code. Mais il y a aussi une autre façon. Nous pourrions aussi simplement dire que D est égal aux noms DECT. Vérifie ça. Simple tyecasting à son meilleur. Donc on va se montrer, on va imprimer D3 fois et vérifier ça. Nous avons été en mesure de convertir les noms en dictionnaire automatiquement avec une seule ligne de code. Et nous avons utilisé comme pour six caractères plus un nom de variable. Il y a donc plusieurs façons de le faire. Maintenant, la compréhension d'un dictionnaire n'est pas aussi courante qu'une compréhension de liste. compréhensions de liste sont très populaires. En Python. Compréhensions de dictionnaire populaires, pas aussi populaires, mais vous allez toujours les voir et vous allez avoir besoin de savoir comment ceux-ci fonctionnent. Alors allez-y et essayez ça. N' hésitez pas à exécuter cet exemple lignes un à trois. Juste, vous allez faire une boucle à travers un itérable appelé une liste. Et cette liste est nommée des noms. Chaque élément de cette liste est un ensemble de tuples ou un ensemble de tuples qui ne se souviennent pas de ce qu'il s'appelle là, mais il a une première valeur. Deuxième valeur, virgule, un autre tuple, première valeur, deuxième valeur. Et vous pouvez décompresser cela en utilisant la valeur de clé dans cet itérable. Et puis vous pouvez créer une compréhension du dictionnaire. Ensuite, imprimez cela, assurez-vous que c'est réellement ce que vous attendez qu'il soit. Je vais annuler ce code pour que vous puissiez voir le long chemin. Allez-y et essayez-le. Si vous êtes coincé, certainement venir vérifier l'apprentissage du code groupe Facebook. Nous sommes là pour vous aider à apprendre Python.
19. Comment obtenir des valeurs de dictionnaire: Jetons un coup d'oeil à la façon dont nous pouvons obtenir des valeurs de dictionnaire. J' en ai parlé un peu à un moment donné, il y
a quelques leçons. Mais si nous avons un dictionnaire, nous pouvons vérifier si une valeur existe et obtenir cette valeur par son nom de propriété. Alors créons un dictionnaire ici appelé cours. Et disons que nous avons un cours JavaScript, un cours JS, et il s'appelle java script 101. Et nous avons un autre cours pour Python appelé Python 101. Nous avons aussi un autre appelé Python 201. C' est, nous allons peut-être faire de celui-ci une liste, Python. Et il y a aussi comme HTML 101 et toutes ces bonnes choses, CSS 101. Celui-ci s'appellera HTML 101. Et donc disons que nous voulions obtenir JavaScript. On voulait sortir ça d'ici. Maintenant, nous ne savons pas nécessairement tout le temps, toutes les valeurs qui viennent dans un dictionnaire. Typiquement, nous faisons un débogage d'impression où nous faisons des cours d'impression. Et puis si nous le voyons là-dedans, nous pouvons imprimer le cours JS. Nous pourrions faire quelque chose comme ça, mais nous ne saurons pas toujours et parfois imprimer le débogage. C' est ça. C' est normal, mais c'est peu douloureux à faire en même temps. Il y a donc une meilleure façon de le faire. Donc, nous pouvons réellement dire que les cours dot get JS et vous allez souvent voir cela. Les cours dot obtenir JS, aucun. Et c'est ce que tu vas voir. Dot obtenir un nom de propriété qui correspond à notre lion sur la ligne deux ou bien sur la ligne deux. Ou un nom de clé appelle parfois la propriété comme une clé. Ce sont des termes interchangeables. Ou s'il n'y en a pas un, une sorte de valeur par défaut. Et la valeur par défaut ici va être N O N E va être Aucun. Et donc si nous imprimons ceci, nous allons voir que cela nous donne JavaScript 101. Maintenant, c'est bien. C' est exactement ce qu'on veut. Mais que faire si nous voulions obtenir CSS ? Eh bien, il n'y a rien là-dedans, donc ça va imprimer absolument rien, juste aucun. Aucun là-dedans parce qu'il n'y a rien là-bas. Et nous pouvons également lui donner un texte
par défaut, ici. Et cela va nous donner le texte par défaut ici, ou mieux encore, parce que nous allons le long du genre de modèle de JavaScript, HTML
un à un, un à un, Python, un à un, et cetera, et cetera. On pourrait faire CSS 101. Et donc s'il peut obtenir CSS 101 de ce dictionnaire, génial, il va le faire, sinon il va par défaut à CS101 à, quand nous imprimons ceci, nous allons voir qu'il dit CSS 101. Et c'est parce que CSS en tant que clé, en tant que propriété à l'intérieur de ce dictionnaire n'existe tout simplement pas. Donc, il revient à CSS one-to-one ou tout ce que nous décidons de lui donner. Maintenant, où cela est utile est si je commente cela, nous pouvons dire si Cours dot obtenir CSS et nous ne allons pas lui donner aucun parce que c'est ce que la valeur par défaut est. On peut simplement dire imprimer. Vous êtes inscrit au baseball de ce droit, inscrit à CSS 101. Maintenant, regarde ça. Cela ne va pas imprimer quoi que ce soit, ne fait absolument rien. Que faire si nous disons, si Cours dot obtenir et lui a donné une sorte de valeur dans votre CSS, un à un. Est-ce que ça va s'exécuter ? Et c'est une bonne question à vous poser. Il dit que vous êtes inscrit dans CSS one-to-one, et c'est parce qu'il ne pouvait pas obtenir cette valeur CSS. Alors, il est allé et en définir un par défaut. Et c'est beaucoup comme dire si une chaîne est égale à CSS 101, ce qui est souvent la raison pour laquelle vous allez voir ceci. Et c'est juste un peu plus explicitement écrit. Donc, cela va dire si Courses dot obtenir CSS, s'il y en a un, cool, exécutez cette instruction if. Sinon, aucun. Et nous savons dans les instructions conditionnelles avec Python que si vous dites si aucun, cela va être la même chose que de dire si false, cela ne va pas s'exécuter. Donc, quand on réessayera
ça, ça ne va pas imprimer quoi que ce soit. Je peux le faire encore et encore et encore. Littéralement n'imprime rien. Maintenant, vous allez voir cela tout le temps, sans arrêt probablement tous les jours en tant que développeur Python professionnel, ce que vous voulez faire comme votre tâche est ce que je voudrais que vous fassiez car votre tâche est d'obtenir un peu d'expérience pratique avec cette . Allez-y et créez un dictionnaire. Et dans ce dictionnaire, je veux que vous alliez et puis utilisez dot get, puis l'une des valeurs clés et lui donnez une valeur par défaut. Et il suffit de jouer avec une déclaration if. Fondamentalement juste faire exactement ce que j'ai fait dans cette vidéo, même si cela ne vous prend que trente secondes, vous pourriez penser, oh, eh bien, c'est inutile. Mais en fait, vous construisez beaucoup de mémoire musculaire ici. Et ce qui est agréable dans la mémoire musculaire, c'est dès que vous le voyez, dès que vous commencez à le taper, finalement à un moment donné, il devient
juste une seconde nature. Tu n'as pas à y penser. Ça arrive juste. Tu connais Python. Allez-y et essayez ça. Dans la leçon suivante, nous allons parler de quelque chose d'un peu plus compliqué appelé un environnement virtuel.
20. Créer un environnement virtuel: D' accord, parlons des environnements virtuels. Un environnement virtuel est un moyen de compartimenter les paquets. Donc, par exemple, je peux utiliser pip pour montrer mes paquets. Je peux dire Pip montrer Django. Et j'ai Django installé ici. J' utilise Django 2.2.1 trois, et c'est sur mon ordinateur. Et si j'ai un projet qui utilise une version différente de Django, disons Django 3.1. Et puis faisons un pas plus compliqué. Que faire si j'ai cinq sites Web différents utilisant Django, mais ils utilisent tous des paquets Django différents. Actuellement, ce qu'il faut faire est Pip uninstall Django et pip install Django est égal à 3.1, quoi qu'il en soit, je devrais le faire encore et encore et encore. Et vous pouvez réellement voir quand j'utilise Pip show jangle ici qu'il vous montre exactement où est Django, et c'est juste sur mon ordinateur. C' est dans les frameworks de bibliothèque, les versions de framework
Python 3.8 lib Python 3.8 paquets de dash de site. C' était une bouchée. Mais que se passe-t-il si vous avez, vous savez, un projet, disons à nouveau un site Web Django, où vous voulez partager cela avec tous les autres membres de votre entreprise. Et vous voulez qu'ils utilisent Django aussi. Eh bien, au lieu d'empaqueter Django et de l'expédier avec votre site Web et de l'envoyer à tout le monde, c'est comme zipper un fichier et l'envoyer à tout le monde. Vous pouvez simplement leur dire d'installer Django en utilisant une certaine version. Et nous faisons cela et nous séparons ces différentes versions où nous séparons ces différents environnements sont-ils ces projets utilisant un environnement virtuel ? Et c'est une chose très, très courante dans le monde de Python. Et donc pour entrer dans un environnement virtuel nécessite l'une des deux choses, l'
une des deux étapes plutôt, soit vous allez être sur un système basé sur Unix comme Mac OS ou Linux. Ils sont très, très semblables. Ou vous allez être sur Windows, je vais vous montrer comment le faire sur les deux. Donc, pour créer un nouvel environnement virtuel, tout d'abord, faisons ls tiret l a, ou si vous êtes dans Windows, vous pouvez taper DIR. Et si je fais défiler ici, généralement vous allez voir un dossier appelé fournisseur de points ou juste vendre ou n. Ce sont les trois plus courantes que j'ai vu là-bas. Donc on n'en a pas encore. Allons de l'avant et créons cela pour que nous puissions faire Python, tiret m, v et v dot v
et v. Et c'est le dossier que nous allons mettre dans. Et ça va prendre une seconde et faire un tas de réflexion. Vs Code sont assez intelligents. Il a dit que nous avons remarqué un nouvel environnement virtuel a été créé. Voulez-vous sélectionner pour ce dossier d'espace de travail ? Ouais, OK. Ça pourrait aussi bien. Vous pouvez voir ici que j'ai un dossier. Si je fais ls tiret LA ou sur Windows DIR, faites défiler vers le haut. J' ai maintenant un dossier ici appelé fournisseur de points. J' ai aussi un code VS, un qui est juste du code VS étant du code VS. On n'a pas à s'en soucier. Mais je dois VS, V0 et Vi dossier ici, et il a bin lib inclure pi n, v point CFG. Si vous utilisez pi n, ce que je suis, vous pourriez ne pas avoir ça. Mais c'est ainsi que nous créons un environnement virtuel. Très simplement, c'est juste Python Dash m, v dot v NV ou tout ce que vous voulez appeler ce dossier, je l'appelle généralement point v, n v, Donc c'est caché. Et nous essayons de ne pas les valider dans nos dépôts Git. Maintenant, tout est bien et bien. Mais si je fais Pip montre Django. Il utilise toujours exactement le même endroit. Il utilise toujours la même version qu'avant. Nous n'utilisons pas notre environnement virtuel. On doit y entrer, alors on l'a créé. Mais maintenant, nous devons entrer dans cet environnement virtuel. Donc, si vous êtes sur Mac ou si vous êtes sur Linux, vous pouvez taper point source VN été activé. Et vous pouvez voir ça dit point VN par ici. Je suis dans un environnement virtuel maintenant. Maintenant, regarde ça. Si je fais Pip, montre Django, rien ne s'affiche. Il n'est pas installé dans son environnement virtuel. Et ce qui est cool à ce sujet, c'est que je peux faire pip installer Django. Et je vais vous donner des instructions Windows pour entrer dans vos environnements virtuels dès que cela sera fait. Donc ça va juste se déclencher. Téléchargez Django, Pip, montrer Django. Et cela utilise maintenant Django 3.2.4. C' est dans mon dossier Python 201, point Ven dans sa bibliothèque, paquets de site
Python 3.8. Cool. Alors sortons de ça. Nous en sortons avec désactivation. Et cela vient de me sortir de mes environnements virtuels maintenant pour revenir dans l'environnement virtuel, si vous utilisez Windows, celui-ci est un peu plus compliqué. Typiquement, nous faisons quelque chose comme barre oblique inverse, dot, dot scripts, dot activate, dot bat. Maintenant, cela dépend fortement de votre système d'exploitation. Si vous créez un environnement virtuel inventif, il va être dans dot v Drayton ici. Sinon, ce que vous allez souvent voir un point ou pas mais slash scripts ENV avec un S majuscule activer la batte de huit points active. Et c'est ainsi que vous entrez dans votre environnement virtuel à l'aide de Windows, ce sera l'une de ces deux options. Alors revenons à l'intérieur ici, je vais le faire et la façon Mac, donc point source VN été activé. Et maintenant, je suis à l'intérieur. Pip show Django. Et ça va me montrer jangle avec 3.1.4 juste là. Désactivez pour en sortir. Pip, montre encore Django. Et mon ordinateur utilise la version 2.2.1 trois. Donc mon ordinateur a accès à un Django, mais c'est une ancienne version de Django. Mon environnement virtuel, qui est tout neuf, a une toute nouvelle version de Django dedans. Et donc maintenant, je peux utiliser deux versions différentes de Django ou n'importe quel paquet
Python et m'assurer qu'elles ne vont pas en conflit. Je peux avoir un autre environnement virtuel sur un autre projet en utilisant une version différente de Django. Et donc toute l'idée ici est que si vous avez plusieurs projets en déplacement,
il est vraiment, vraiment facile de simplement mettre à niveau un projet et ne pas avoir à vous soucier de mettre à niveau un autre projet. Parce que si vous mettez à niveau un projet et que vous devez mettre à niveau tous vos autres projets, cela va craquer. J' ai plus de 200 sites Web sur mon ordinateur à partir de mon travail en ce moment. Et je ne pouvais pas imaginer avoir à mettre à jour Django et 200 sites chaque fois que je voulais faire un peu d'une bosse de version. Et donc cela reste juste agréable et simple et séparé pour nous. Donc, généralement chaque fois que vous travaillez sur une sorte de projet Python, vous allez créer un environnement virtuel. C' est toujours une bonne idée, même si vous n'avez qu'un seul projet sur votre ordinateur, assurez-vous de créer un environnement virtuel. Et encore une fois, ce est juste tableau de bord Python m, v point v et v. Et puis il va être point source VN, été activé. Ou si vous êtes sur Windows, ce sera des scripts slash, débat, dot bat. Et ça va te faire entrer. Et puis une fois que vous êtes dans, vous tapez simplement désactiver pour en sortir. Allez de l'avant et créez un environnement virtuel, puis entrez à l'intérieur de celui-ci. Faites quelque chose comme pip installer Django puis désactivé. Une fois que vous avez cet environnement virtuel opérationnel, vous avez pu l'entrer et le quitter. Parfait. Passons à la leçon suivante où nous parlons une meilleure façon d'apprendre Python en utilisant un nouveau type de Python Shell.
21. Comment apprendre Python en explorant et en utilisant iPython: Jetons un coup d'oeil à la façon dont nous pouvons apprendre Python d'une manière plus interactive. Donc, nous pouvons toujours aller en Python. Et nous pouvons créer une sorte d'objet, puis appuyer sur point, puis onglet. Et ça va nous montrer toutes sortes de méthodes dessus. Donc, par exemple, nous pouvons avoir une chaîne appelée nom. On va appeler ça Python 201. Et puis on pourrait faire le nom point, frapper l'onglet une ou deux fois et on peut voir toutes les choses différentes ici. Par exemple, nous pourrions capitaliser cela. C' est déjà capitalisé. Ça ne va rien faire. Tir nommé. Finit avec nous pourrions faire 201 et cela va revenir vrai pour moi. Et donc nous pouvons voir toutes ces choses différentes et nous n'avons pas à le faire avec juste une chaîne non plus. On est juste en train de faire avec cette corde. Nous pouvons le faire avec un tuple, un dictionnaire, une liste, peu près tout type de données qui a une sorte de transformation sur vos données, vous pouvez le faire avec. Donc, par exemple, si je voulais mettre cela en mots, Nous pourrions faire le nom point et ensuite où êtes-vous ? Ça s'appelle Split, juste là. Split, nom point split et nous voulons le diviser sur chaque espace. Maintenant, il semble qu'il n'a rien fait, mais les mots est maintenant une liste. Nous pouvons faire words.py inverse. Et jetons un coup d'oeil à ce mot DOD frappé onglet quelques fois, inverse à la toute fin. Inverse. C'est à l'envers. Et maintenant, nous pouvons rejoindre ça ensemble. Et puis nous pouvons remettre cela ensemble en disant des cours égaux à un point de chaîne. Et nous avons eu ici en string join. Comment voulons-nous les unir ? Plutôt, les mots, puisque nous disons, utilisent un espace pour joindre tous les mots ensemble. Bien sûr. Et maintenant, j'ai renversé tout le libellé dans un cours. Maintenant, au lieu de dire 201 ou au lieu de dire Python 21, il dit 201, Python. Et c'est un moyen vraiment,
vraiment, vraiment puissant d'apprendre à coder. Donc, si je l'efface encore, ce que nous pouvons faire, ce sont des mots. J' ai 201 et Python dans leurs mots point. Pop qui a retourné le mot Python. Et si je fais des mots, je n'ai qu'un seul mot là-dedans, je peux recommencer. Ça me donne le dernier mot à un seul. Words est maintenant un tableau vide ou une liste vide. Si vous avez une sorte de dictionnaire, vous pouvez toujours faire un point de dictionnaire. Et puis appuyez sur l'onglet quelques fois, assurez-vous que c'est un dictionnaire réel, alors ayez une bonne valeur là-dedans. Mais alors vous pouvez faire votre onglet de point de dictionnaire ou onglet quelques fois parfois. Et ça vous montrera tout ce que vous pouvez faire. Donc ce que je veux que vous fassiez, c'est que je veux que vous créiez un tuple, appuyez sur point, puis appuyez sur l'onglet. Et puis je veux que tu vois quel genre de choses tu peux faire avec un tuple. Et puis je veux que vous fassiez la même chose avec une liste, parce que les listes et les tuples sont presque la même chose, mais les tuples ne sont pas vraiment mutables. Tu ne peux pas vraiment faire beaucoup avec un tuple. Et je veux que tu compares les différences. Et puis il suffit d'explorer, n'hésitez pas à vous explorer, vous. Le pire que vous allez faire est un peu de dommages à votre variable, pas à votre ordinateur, pas à vos environnements virtuels. Tout le reste ira très bien. Vous allez juste transformer votre variable. C' est tout ce que tu vas faire. Et c'est une façon très,
très, très puissante d'apprendre python. Django, flasque, vraiment tout ce qui est lié à Python comme wag jusqu'à CMS, n'importe quoi vraiment. Tu vas pouvoir le faire. Vous allez pouvoir l'apprendre beaucoup plus vite de cette façon. Et c'est parce que tout simplement un cours ne devrait pas passer sur chaque élément ici. Par exemple, nom point. Je ne vais pas vous apprendre le format de la carte ou est numérique, ou est imprimable ou partition ou quelque chose comme ça parce qu'il y a juste trop d'options. La même chose avec une liste. Il y a beaucoup d'options et vous êtes maintenant cela ne ressemble pas à beaucoup d'options, mais imaginez ce que vous pouvez faire avec un mappage de dictionnaire, ce que vous pouvez faire en tant que classe, imaginez ce que vous pouvez faire avec un tuple ou un ensemble, et avoir à passer par tout cela est honnêtement douloureux pour vous de les regarder. C' est aussi douloureux pour moi d'enseigner. Et franchement, vous n'allez pas utiliser la plupart d'entre eux. Donc, chaque fois que vous voyez du code dans la nature, vous, disons que vous travaillez avec le développeur senior et qu'
un développeur senior a du code vraiment fantaisie et vous êtes comme, whoa, que fait Words dot ? Eh bien, maintenant vous savez que vous pouvez aller expérimenter avec words.txt ou list.append plutôt. Maintenant, c'est une façon d'utiliser votre shell et c'est juste de taper Python qui
vous obtient dans leur Une autre façon est que vous pouvez utiliser IPython et j'aime vraiment IPython, donc je fais pip installer IPython clair, et au lieu de taper Python, Je tape simplement IPython. Et vous pouvez voir qu'il est un peu plus agréable en Votre nom est égal à lobe K, grand, maigre. Nom point, appuyez sur l'onglet plusieurs fois. Et maintenant, nous pouvons réellement passer à travers ces choses et il le tape pour moi. Vous pouvez copier et coller beaucoup plus facilement ici aussi. Vous pouvez faire plusieurs lignes, vous pouvez faire toutes sortes de choses. Et c'est une meilleure façon d'explorer, car c'est un peu plus interactif. C' est plus facile d'être comme, oh, ce qui est zed fill prend exactement un argument, 0 on nous donne, remplissons-le avec un. Voyons ce qui se passe. La chaîne ne peut pas être interprétée comme un entier. D'accord ? Cool, je n'ai aucune idée de ce que Zed Fill fait. Je vais l'explorer après la fin de cette vidéo. Tellement amusant, amusant. C' est comme ça que nous apprenons. Et c'est ainsi que vous pouvez apprendre par vous-même afin que vous n'ayez pas besoin de suivre un autre cours Python ou un autre cours de développement web de pile complète ou regarder un autre tutoriel d'une heure sur zed fill. Vous pouvez l'explorer vous-même et ensuite comprendre ce que vous devez apprendre de là. Donc, vous maximisez votre temps en faisant votre propre exploration et en acquérant votre propre expérience. Dans la leçon suivante, allons de l'avant et parlons des paquets.
22. Introduction aux paquets Python: Parlons des paquets maintenant. Ok, donc on a cette idée d'un paquet et on s'en est un peu débrouillé. Nous avons installé Pip IPython. Ce n'est pas comme ça que vous épelez python, IPython. Nous avons installé Django par pip. Nous avons été à une pointe pimping pip install ColorRAMP, et nous allons faire pip install appelé Rama à nouveau. Mais d'abord, nous allons entrer dans notre environnement virtuel. Donc, si vous n'avez pas un tableau de bord Python M, ven van Gogh, Coca-Cola, source, bin activer. Je suis maintenant à l'intérieur de mon environnement virtuel. Je peux maintenant faire pip installer ColorRAMP. Et je sais que la couleur Rama est un paquet qu' on peut utiliser et qu'il va l'installer. Cool, cool, cool. Il dit installé avec succès la couleur Emma, 0.4. point. Pour l'instant, allons-y jeter un oeil à certaines de la documentation, votre couleur Rama sur pi pi. Et c'est là que vous pouvez trouver n'importe quelle sorte de paquet pi, pi.org. Vous pouvez chercher n'importe quoi. Donc, par exemple, si je voulais des paquets wag tail, il pourrait trouver différentes façons de dire des paquets ici. Si vous vouliez trouver des paquets Django, il
vous suffit de taper Django et vous trouverez toutes sortes de paquets Django pour vous. Et vous êtes, celui que je vais utiliser est la couleur Rama, couleur M0, 0.4.4. Et il nous dit comment l'installer. C' est génial. Maintenant, comment l'utilisons-nous réellement ? Et il nous dit dans vos applications devraient initialiser la couleur Emma en utilisant la couleur Rama import init
puis, puis instancier réellement cette init. Ok, alors allons-y et faisons-le. Donc, allons dans un écrou de shell Python régulier, un shell IPython, juste un shell Python régulier. Et en fait ce que je vais faire, c'est que je vais changer d'avis à ce sujet. Au lieu d'utiliser un shell Python régulier, ce que je vais faire est d'utiliser IPython parce que nous l'avons installé, pourrait aussi bien l'utiliser à partir de ColorRAMP, appeler faible RAM, import init. Et puis on a voulu lancer init. Ok, cool. On dirait qu'il n'a rien fait, mais qu'il suivait les instructions jusqu'à présent. Comment obtenir une sortie colorée ? Alors allons de l'avant et faisons, nous allons honnêtement simplement copier et coller ceci. Copiez tout ce truc. Collez le tout là-dedans, et regardez ça. Nous avons du texte rouge. Nous avons du texte avec ce qui probablement en dehors d'IPython aurait été un fond vert, quelques textes de gradateur et du texte normal ici. Donc tout ce qu'on a fait ici c'est qu'on a dit l'importation. Pour le style backend. Nous avons dit que le premier plan allait être lu. L' arrière-plan ici va être vert avec du texte vert. Puis style Dim, Diminuer ce texte. Style, réinitialisez tout et c'est de retour à la normale. C' est tout ce qu'on a fait. Et donc pour utiliser un paquet, nous faisons vraiment pip installer le nom du paquet à partir de ce nom de paquet, importer quelque chose. Maintenant, nous ne savons pas exactement ce que nous pouvons importer. Et c'est pourquoi il est si important de lire la documentation. Et ça nous dit toutes sortes de choses que nous pouvons faire ici. Maintenant, c'est un exemple moche. Alors allons de l'avant et exécutons ceci dans notre Python Shell régulier. Faisons Python Dash v. J'utilise Python 3.8. Vous pouvez également l'essayer juste dans votre shell Python normal. Cela va probablement s'avérer mieux dans votre shell Python. Mais ce que nous pouvons faire ici, c'est que nous pouvons
faire, faire, importer ceci. Faisons de couleur Emma, colo Rama, import init. Ensuite, nous devons instancier les mensonges dedans. Et allons de l'avant et sauvegardons cela comme les paquets dot py. Et je vais rendre ça un peu plus court ici. Et ce que je vais faire, c'est déplacer toutes mes importations en haut du script ici. Et nous pouvons même les fusionner ensemble. Et nous pouvons dire à partir de ColorRAMP qu'il importe init pour le style backend. Allons de l'avant et exécutons ceci maintenant pour qu'il sauve, et exécutons ceci en Python. Et on y va. Ça dit du texte rouge. Et avec un fond vert, c'est en fait un fond vert super clair. Peut-être que IPython avait raison et je ne vois pas tout à fait que c'est super sombre. Nous gardons le texte rouge sombre avec un fond vert. Ensuite, on le réinitialise à la normale. Et nous exécutons tout cela à l'intérieur de nos paquets dot py script. Et donc c'est vraiment tout ce qu'il y a à un paquet. Rappelez-vous tout ce que vous avez à faire est pip installer le nom du paquet. Et puis nous faisons à partir du nom du paquet, l'importation, de la première chose, de la chose, de deux choses. Et nous suivons la documentation. Et la clé ici est vraiment suivre la documentation. Même sur pi-pi ici, je ne suis généralement même pas la documentation de pi pi. Je vais généralement directement à github, github, github, git hub. Et ça va me dire, je pense que c'est exactement la même chose, si génial. Mais il me dit aussi que d'autres choses comme les constantes de mise en forme
disponibles sont pour le premier plan. Noir, rouge, vert, jaune, bleu, magenta, poids cyan, réinitialisation, fond, même chose. Style. On peut ternir, normal brillant ou on peut tout réinitialiser. Donc, ce que je voudrais que vous fassiez est pip installer ColorRAMP. Accédez à cette page ColorRamp GitHub. Lisez la documentation, assurez-vous d'importer la couleur Emma et d'importer init à partir de la couleur Emma. Exécutez init, puis copiez et collez simplement ceci. C' est ce que j'ai fait. Et amusez-vous un peu avec ça. Parce que maintenant vous pouvez faire votre terminal look prochain n coloré, ce qui est incroyable parce que les terminaux sont notoirement ennuyeux. Maintenant, vous allez utiliser des paquets tout le temps, sans arrêt. Tous les jours. Tu vas importer des choses tous les jours. Il est donc important que vous sachiez utiliser les paquets. Allez-y et essayez cela et quand vous êtes prêt, passons à la leçon suivante où nous faisons un peu de mise à jour des demandes d'API avant notre projet final.
23. Une courte API demande d'actualisation: Très bien, bienvenue à la leçon d'actualisation des demandes d'API. Ce que nous allons faire ici est juste un petit rafraîchissement rapide sur les demandes d'API. Donc, si j'ouvre la requête de l'API JSON dot pi,
allons-y et jetons un oeil à ce que nous avons écrit à l'origine. Et donc nous n'allons pas faire de codage dans cette vidéo. Nous allons simplement examiner comment cela fonctionne. Donc les demandes en tant que paquet, nous l'importons et tout comme dans la dernière vidéo où nous avons importé ColorRAMP, nous avons importé des demandes. Et avec cela est venu un objet ou une méthode appelée get jusqu'à ce que nous fassions notre égaliseur, cela pourrait être n'importe quoi Est égal à demander dot get, puis une sorte d'URL. Et ça va chercher ces données pour nous. Ensuite, si ces données sont JSON, nous allons simplement dire que le point d'objet de requête lit le JSON. Et ce que cela fait, c'est qu'il transforme ce JSON en un dictionnaire Python, que nous pourrons utiliser plus tard. Donc, dans cet exemple, nous utilisions, je crois que c'était C3PO, et c'est maintenant un dictionnaire et nous pouvons imprimer le nom de la personne parce que le nom est une propriété ou une clé sur le dictionnaire de la personne, année de
naissance était également disponible. Donc, nous mettons l'année de naissance de la personne comme un dictionnaire standard se termine parce que cela arrive en JSON, qui est techniquement juste une chaîne, mais il est formaté d'une certaine manière et Python a reconnu et le transforme en un dictionnaire. Nous avons également dit pour chaque film dans lequel cette personne était, pour chaque film C3PO était lui faire une nouvelle demande à ce film. Donc c'était une liste de films. Et donc ça va passer par chacun d'entre eux. Je pense qu'il y en avait sept ou quelque chose comme ça. Donc les données n'étaient pas encore complètement remplies. Mais nous avons dit, pour chaque film, allez-y et obtenez ce remplissage. Ensuite, nous avons dit écraser cela à chaque itération, donc exagérer le film. Et parce que nous savons que ce sera JSON, transformez ce JSON en un dictionnaire appelé film. Et puis nous avons dit que le film est et ensuite le titre. Et nous avons obtenu tout ça en échangeant des points de développement. Maintenant, dans notre projet final, nous n'allons pas utiliser un point d'échange. Nous allons utiliser pokey api dot co. Donc c'est très, très similaire, mais au lieu de cela, nous allons utiliser quelque chose avec un peu plus d'informations. Et donc vous pouvez voir cela comme beaucoup de dictionnaires différents ici. La capacité est donc un dictionnaire, mais il y a une liste de capacités ici. C' est donc une liste et c'est juste une paire de valeur de clé standard. Donc, nous allons travailler avec un peu plus, je suppose une API avancée. Mais nous allons utiliser les choses d'une manière simple et simple parce que Python garde les choses simples. Donc, pour cette vidéo, au lieu de faire n'importe quel codage, ce que je voudrais que vous fassiez est aller à pokey api dot SEO et juste lire à travers elle, expérimenter avec elle, cliquez autour. J' ai essayé de casser des choses même si vous n'êtes pas familier avec Pokemon, c'est tout à fait correct. Nous pouvons simplement utiliser quelques exemples de base de ce qu'ils nous fournissent. Parce que dans son projet final, ce que nous allons faire est d'utiliser cette API et nous allons chercher un tas d'informations différentes. Alors allez-y et vous familiariser un peu avec l'API pokey. Ne vous sentez pas comme si vous deviez écrire un code. Nous allons le faire comme notre projet final. La partie code va être notre projet final. Lorsque vous êtes prêt pour ce projet final et peut-être mis de côté comme une
demi-heure pour regarder la vidéo et travailler sur le projet. Mais une fois que vous avez ce temps mis de côté, passons à la leçon suivante, la dernière leçon, où nous créons une application de personnage Pokemon.
24. Votre projet: Jetons un coup d'oeil à notre projet final, ou le projet final va créer une application de personnage Pokemon. Donc, dans ce cas, ce que j'aimerais que vous fassiez, écrivions quelques instructions ici. Ce que je veux que vous demandiez l'entrée de l'utilisateur. Donc, par exemple, demandez un Pokemon, dont Pokemon ou nous allons parler qui pourrait être comme ditto, par exemple. Ensuite, vous allez devoir créer une chaîne d'API dans l'URL ABI. Un peu comme celui-ci où il est dit, nous pouvons aller directement ici et nous donner toutes les informations. Nous allons juste prendre cette URL, mais nous allons changer
ditto pour n'importe quelle entrée de l'utilisateur. Donc, l'étape deux va être créée une URL dynamique basée sur l'étape 1. Numéro trois est que nous devons ensuite récupérer ces données en utilisant des requêtes. Donc, l'étape trois consiste à récupérer les données de l'URL. À l'étape deux, l'étape quatre va être d'imprimer le JSON et les données. Mais parce que c'est JSON, nous ne pouvons pas l'imprimer. On doit le convertir. Donc, l'étape quatre va être convertir JSON en dictionnaire. Étape cinq va ensuite être imprimer quelques données Pokemon. Alors imprimez les données Pokemon. Et ces données vont venir, par exemple ici. Donc, il a des capacités, il a des formes comme base d'indices de jeu expérimentés, une hauteur tenue objets, déplace ID a toutes sortes de choses ici. Donc je vais vous laisser le soin de tout ce que vous voulez montrer. Donc, je vous ai maintenant parcouru fondamentalement les étapes exactes dont vous avez besoin pour créer forme de programme Python qui peut accepter un Pokemon comme une chaîne. Et puis vous pouvez aller chercher ces données à partir d'une API et les afficher dans votre terminal. Ce que je vais faire ici, c'est que je vais sauver cela comme projet dot py. Commenter ceci. Et je vais vous montrer comment je vais faire ce projet exact. Mais je veux que vous fassiez un coup, juste, alors s'il vous plaît faites-moi un solide ici et arrêtez la vidéo et essayez ceci par vous-même. N' hésitez pas à référencer ces instructions à nouveau, mais essayez ceci par vous-même. Essayez de faire transpirer votre cerveau. essayé de tirer parti de ce que vous avez déjà appris dans ce cours sans avoir à regarder le reste de cette vidéo. Maintenant, nos solutions garanties vont être très différentes. Et c'est bon. Il y a un million de façons différentes de faire la même chose dans la programmation. Si j'écris ceci contre mon mentor en écrivant ceci, nous allons obtenir un code différent de toute façon. Et votre code va sembler différent du mien, mais ce n'est pas le but. Le fait est que vous donnez une chance pour essayer ça au mieux de vos capacités. Maintenant, si tu restes coincé, c'est bon. Si vous êtes coincé, vous pouvez simplement reprendre la vidéo et vous pouvez voir exactement comment je le fais. Je vais m'estomper, m'estomper et m'estomper. Je veux que vous mettiez la vidéo en pause et essayiez ça. Bonne chance. N' oublie pas de t'amuser avec ça. C' est un très bon cas d'utilisation de Python et d'API. Vous allez en avoir besoin dans le développement
web et toutes sortes de trucs pythoniques sur la route. D' accord, allons-y et finissons ce projet, ou je suppose qu'on commence le projet et on finira. Donc, tout d'abord, étape numéro un, nous devons demander à l'utilisateur d'entrer. Donc, nous allons dire que le Pokemon, Pokemon est égal à l'entrée. Quel Pokemon Voulez-vous trouver ? Et puis on va dire que Pokemon est égal au point Pokemon plus bas. Et nous savons que nous devons faire des points plus bas et réaffecter cela parce que les chaînes ne sont pas mutables. Nous devons fondamentalement prendre cette valeur de Pokemon, quel que soit le taux d'utilisation, l'abaisser, puis le replacer dans un autre morceau de mémoire appelé Pokemon se trouve juste être le même nom ici. C' est là que la mutabilité et l'immuabilité entrent en jeu. Ensuite, nous devons créer une URL dynamique basée sur l'étape 1 afin que l'URL soit cette URL ici. Copier, jeter cela dans une chaîne, mais ce ne sera pas toujours des données. Nous devons changer ça. Alors changeons ça en pokemon. Et faisons ça une chaîne de f. C' est donc la deuxième étape. La troisième étape consiste à récupérer les données de l'URL à l'étape deux. Donc, nous pouvons dire que REQ est égal à demander point obtenir l'URL. Et qu'est-ce que nous utilisons demande, nous devons ensuite importer des demandes, demander. Et c'est au pluriel. Il est supposé être des requêtes, donc nous utilisons des requêtes dot get, puis l'URL. Et c'est la troisième étape. La quatrième étape consiste à convertir les données en dictionnaire. Donc, nous pouvons aller ici et nous pouvons dire que les données seront quelle que soit la demande. Json, nous savons qu'il vient sous forme JSON afin que nous puissions utiliser Dot JSON dessus. C' est l'étape 4. étape cinq est l'impression des données Pokemon. Alors, qu'est-ce qu'on veut imprimer ? Nous allons imprimer le nom que nous avons trouvé. Donc, nous pouvons dire que le nom d'impression est onglet, onglet. Et puis quel que soit ce nom sera le nom de données. Et si vous vous demandez d'où j'ai eu le nom, les données sont maintenant un dictionnaire. Ou du moins en théorie, c'est un dictionnaire. Et le nom vient de ce petit gars juste là. Rendons ça plus grand juste là. Et voyons peut-être quel genre de capacités il a. Donc c'est une liste. Nous pouvons voir que c'est une liste et qu'il y a une liste de dictionnaires. Alors allons de l'avant et regardons les capacités. Alors nous pouvons dire que les capacités d'impression vont être quelque chose que nous ne savons pas encore. Et passons simplement en boucle à travers ces quatre capacités dans les données. Capacités, nous pouvons parcourir cela parce que nous savons que c'est une liste. Et donc cette première capacité va être plus souple et la seconde sera imposteur. Alors nous pouvons dire capacité d'impression. Et c'est aussi un dictionnaire. Donc, pour chaque élément de cette liste va être un dictionnaire. Et puis nous avons une capacité appelée, qui est aussi une capacité de dictionnaire. Et puis on veut ce nom. Et allons de l'avant et donnons une chance à ça. Voyons ce qui se passe lorsque nous exécutons un projet python. Je ne sais même pas si j'ai des fautes de frappe. Je n'ai même pas cherché de fautes de frappe. Quel Pokemon je veux trouver ? Cherchons le ditto. Il y a de la limpe et de l'imposteur en eux. Cool, calme, cool. D' accord. Quel autre Pokemon savoir réellement ? Et char est ARD. Ses capacités le sont, et nous allons simplement déplacer cela vers le haut. J' ai trouvé chars art, ses capacités sont blase et énergie solaire. Cool. Si nous voulions obtenir plus d'informations, nous pourrions effectivement obtenir cette URL et y faire une demande. Et nous pouvons voir quel genre de capacité il a. Et il a différents paramètres de langue. C' est cool ? On a eu une langue anglaise. Le premier est une entrée de texte de saveur de langue allemande. Je ne sais même pas ce que c'est. C' est au-delà de ma connaissance de Pokemon. Mais de toute façon, nous pouvons, si nous voulions saisir cette URL pour plus de détails sur ce que cette capacité particulière va réellement faire. Donc, à ce stade, nous en avons assez fini. C' est tout ce qu'on a à faire. Mais que se passe-t-il si vous tapez un Pokemon qui n'existe pas ? Comme, comme, comme, comme, comme, comme, comme. Oh, non, on a un problème. Et c'est intéressant parce que où sommes-nous ici ? Décodeur Json, décodage JSON ou erreur ligne de valeur attendue une colonne un porter. Il dit essentiellement que le JSON n'est pas formaté correctement. Donc, ce que nous pouvons faire ici, c'est que nous pouvons envelopper tout cela dans une déclaration if. Si le code d'état point req est égal à 200, cela signifie
que nous obtenons un code d'état sain. Nous pouvons prendre toutes ces choses, faire que juste un minuscule sont là et hors dent ça. Sinon. Nous n'avons pas pu imprimer Pokemon introuvable. Et maintenant, nous avons affaire à des codes d'état appropriés ici. Allons-y et essayons à nouveau. Enfilez un tas de ordures là-dedans. Il dit que Pokemon n'a pas trouvé. Et donc il est parti et est allé partout où c'est. Ce n'est pas un Pokemon apparemment. Et donc Pokemon n'a pas été trouvé. Assurez-vous que le code d'état est en fait censé être 200 parce que parfois c'est à, à un. Qui sait quel Pokemon je veux trouver ? Bullosa douloureuse ? Et regarde ça, ça est revenu très vite. Nom est bulbeux ou capacités overgrowth et chlorophylle. Cool, cool. Maintenant, c'est vraiment tout ce qu'il y a à ce projet. Maintenant, si vous voulez aller plus loin, ce que vous pouvez faire, c'est que vous pouvez toujours demander plus d'entrée utilisateur. Alors, en fait, faisons ça. Demandons toujours plus d'UserInput. Donc ce que nous allons faire ici, c'est que nous allons envelopper ça dans une boucle. On va dire que pendant que quelque chose est vrai, mettez tout ça à l'intérieur de cette boucle sauvage. Et ça va toujours demander un Pokemon. Il va toujours faire une demande. Et quand ce sera fait, il va demander un autre Pokemon. Et c'est littéralement tout ce que nous avons à faire pour un outil de recherche Pokemon
permanent ou approprié. Alors allons de l'avant et tapez projet python à pi. Regardons les yeux vers le haut. Ok, trouvé le ditto. Et Char ? Melian ? Cool. Qu' en est-il d'un qui n'existe pas, n'existe pas pour parler mon pas trouvé. Et ça continue à demander encore et encore. Et si jamais je veux arrêter, je peux toujours contrôler C. Et ça me sort de cette boucle while. Donc maintenant, nous avons un programme qui va constamment demander quel Pokemon Voulez-vous trouver ? C' est un excellent moyen si jamais vous avez voulu construire une application sur la route comme une application Pokemon trouver ou une application d'information Pokemon. C' est exactement ce que vous feriez en utilisant Python. C' était donc ma solution à ce projet particulier. Votre solution pourrait être un peu différente. Votre solution peut être un peu plus simple ou peut être un peu plus complexe. C' est tout à fait à vous de décider. Ce que je veux que tu fasses si tu ne l'as pas fait c'est que tu essaies tout seul. Ne référencez pas mon code pour l'essayer vous-même et voir jusqu'où vous pouvez aller. Faites transpirer votre cerveau est important pour faire transpirer votre cerveau. C' est censé se sentir un peu de lutte. Et si vous êtes vraiment, vraiment coincé dans des années, comme je ne sais pas quoi faire soit consulter Google parce que honnêtement la moitié de la programmation ces jours-ci est juste des trucs Googling. Et si votre propre recherche ne vous mène nulle part
, référencez ce code. Et ça va en quelque sorte vous éloigner d'être dépendant du tutoriel Lake. Cette vidéo est, cette vidéo est très tutoriel style et il va quelque sorte vous déplacer dans le domaine de comprendre comment résoudre vos propres problèmes. Ce qui est vraiment, vraiment, vraiment important parce que le codage est tout sur la résolution de problèmes par vous-même. Et vous n'aurez pas toujours d'enseignant, donc vous devez être capable de le faire vous-même. J' espère que ça a été agréable pour toi. J' espère que c'était un petit projet amusant en utilisant des API
et, et toutes ces bonnes choses que nous utilisons beaucoup ici. Nous utilisons une boucle while, nous utilisons un paquet. Nous avons utilisé des entrées plus faibles donc mutabilité par rapport à l'immuabilité. Et F String, nous avons utilisé une requête API. Nous vérifions le code d'état, donc il conditionnel. Nous avons transformé le code en un dictionnaire de JSON. Ensuite, nous avons imprimé avec des onglets en utilisant plus de chaînes F. Ensuite, nous parcourons toutes les capacités et avons obtenu le nom de la capacité. Un peu cool. Donc c'était gentil et court. C'était en fait un petit projet assez amusant. Vas-y et essaye-le si tu ne l'as pas fait. Enfin, mais pas des moindres, je tiens à vous remercier d'avoir suivi ce cours avec moi, votre professeur, Caleb péage. Ça a été beaucoup de plaisir. Je suis très fier de ce que tu as fait. N'oublie pas. Écrire du code est tout au sujet de la pratique. Juste la pratique, la pratique, la pratique, juste écrire du code, résoudre plus de problèmes, écrire du code résoudre plus de problèmes. C' est tout ce que c'est. Encore et encore et encore. Encore une fois, je sais qu'il y a beaucoup de cours Python
différents là-bas, mais vous avez choisi le mien. Et j'apprécie vraiment ça. Merci de m'avoir donné à tous un peu de temps de ta vie. J' apprécie vraiment cela et j'espère que vous arriverez à construire des choses vraiment cool dans Python à l'avenir.
25. Python 201 : Résumé: Ok, tu as fini tout ce cours. C' est incroyable. Tout d'abord, tapote-toi sur le dos. Tu as fait du bon travail. Je suis super, super fier de toi. J' ai été Caleb Italien. Vous pouvez me trouver sur Twitter à Caleb Tolkien, ou si vous voulez des trucs et astuces de codage ou des mises à jour tous mes cours, vous pouvez toujours aller à Instagram.com slash point de codage pour point tout le monde. Beaucoup de conseils de codage là-bas, beaucoup de mises à jour de cours, si vous voulez, la façon dont j'enseigne, c'est généralement là que je maintenant ses nouveaux cours et des choses comme ça. Si à un moment donné vous êtes comme, oh, vous savez que c'est une communauté de codage, ce serait bien parce que franchement, codage peut être un peu seul. Vous pouvez toujours entrer en vous apprenant à coder sur Facebook. Il y a 62 ou 65 000 membres là-dedans au moment de cet enregistrement. Et il augmente de centaines de membres chaque jour. Et vous pouvez poser littéralement n'importe quelle sorte de question de développement web. C' est un groupe soigné. Nous nous assurons qu'il n'y a pas de spam là-dedans. Nous prenons beaucoup de soin dans ce groupe. Moi et un modérateur. Nous avons passé plusieurs heures chaque jour à nous assurer que ce groupe est bien pris en charge et a la valeur la plus élevée pour vous. Ainsi, vous pouvez toujours vous joindre à apprendre à coder sur facebook.com gratuitement. Merci encore d'avoir suivi ce cours. Une dernière fois, mon nom m'a dit que je suis très fier de toi au fait. Et j'espère vous voir dans l'apprentissage du code de groupe dans un autre cours de la mienne, ou peut-être qu'un jour je travaillerai avec vous. Happy codage.