‫Apprenons différentes manières d'importer ces modules. Jusqu'à présent, nous n'avons appris que
‫l'importation, mais parfois les choses peuvent devenir assez mouvementées.
‫Par exemple, nous pouvons en fait avoir un autre package à l'intérieur d'un autre package.
‫Si, par exemple, je crée un nouveau dossier ici et dis nouveau package python, nous l'appellerons davantage.
‫Cliquez sur Shopping, OK, vous voyez que j'ai lancé un autre package à l'intérieur d'un package qui a son propre
‫fichier.
‫Et déplaçons ceci maintenant pour faire le déplacement du réfracteur et nous le déplacerons dans le dossier more shopping,
‫disons plus.
‫Achats.
‫Je clique, OK, vous verrez que j'ai déplacé ce module ici, donc j'ai un package à l'intérieur d'un package.
‫Et la façon dont nous y accéderions serait de simplement acheter des points de plus.
‫Point d'achat, panier d'achat.
‫Et copions cela et faisons de même ici.
‫Et maintenant, quand je clique sur exécuter.
‫Vous verrez que cela fonctionne toujours, mais cela devient un peu trop fou.
‫Vous pouvez imaginer que nous avons de plus en plus de packages que nous devons constamment faire ce point, ce point,
‫et cela devient un peu.
‫Trop long et moche.
‫Alors, comment pouvons-nous améliorer cela?
‫Eh bien, une façon de le faire de manière plus propre est de faire quelque chose comme ceci au lieu de dire
‫importer, nous disons à partir de ceci.
‫En partie, je veux importer la fonction, donc ici, je dis, hé, à partir de package, nom, package, nom, module, importation,
‫quelle que soit la fonction que je veux.
‫Dans notre cas, nous voulons importer la fonction d'achat.
‫Donc, vous voyez ici, je peux juste le faire et dans mon code.
‫Je peux juste courir comme si cela faisait partie de ce fichier principal.
‫Si je lance ça.
‫Vous verrez que cela fonctionne toujours.
‫Génial, donc c'est définitivement plus propre et nous pouvons également le faire avec l'utilitaire.
‫Je peux dire à partir de l'utilitaire d'importation et en fait importer les deux fichiers ou les deux fonctions.
‫C'est donc multiplier.
‫Et si nous voulons une autre fonction, nous pouvons simplement ajouter une virgule et dire diviser.
‫Alors maintenant, nous pouvons imprimer Apple.
‫Ou par Apple ainsi que diviser.
‫Disons cinq par deux.
‫Et on peut aussi multiplier.
‫Et assurez-vous que c'est une virgule ici, car c'est une fonction comme celle-ci, de sorte que si je lance ceci, vous verrez
‫cela.
‫On y va.
‫Cela fonctionne aussi.
‫C'est donc une très belle façon de nettoyer votre manteau.
‫Vous pouvez également faire quelque chose comme ceci où vous dites de package, nom, package, nom.
‫Et puis importer le module entier, alors disons que je veux importer le module du panier d'achat, je peux dire importer,
‫donc package dot package ou vous auriez pu juste avoir fait un package et importer le panier d'achat
‫du module réel.
‫Alors maintenant, j'y accéderais comme ce point de panier d'achat.
‫Et ça va marcher aussi.
‫Maintenant, la raison pour laquelle vous voudrez peut-être faire cela au lieu de ce que nous avions auparavant, c'est que parfois vous pouvez
‫obtenir des collisions nommées.
‫Laissez-moi vous montrer, disons que j'ai eu une impression et puis ici nous utilisons la fonction max, ce qui nous donne que c'est une fonction
‫intégrée, nous lui donnons un itérateur et il trouve le max pour nous afin que si je lance ceci, vous vous verrez
‫que le maximum dans cette liste est de trois.
‫Eh bien, imaginez dans notre fonction d'utilité, nous avons un disons au lieu de diviser ou nous ajoutons un max qui
‫dit simplement.
‫Retours et oups.
‫Bon, si je reviens à mon DCPI principal.
‫Et.
‫Obtenez Max comme fonction et je clique sur exécuter.
‫Eh bien, vous voyez, j'y arrive.
‫J'obtiens que Max ne prend aucun argument de position, mais a été donné, mais un a été donné parce que maintenant Max ne veut pas
‫dire ce que nous pensions que nous voulions dire, du moins dans ce fichier, nous avons importé Max et bien.
‫Max a maintenant une fonction complètement différente, nous pouvons donc remplacer les fonctions existantes, donc en utilisant
‫quelque chose comme ce panier, nous nous assurons que nous n'avons qu'un seul cas que nous pourrions avoir nommé
‫collision.
‫Mais toutes les propriétés ou toutes les méthodes d'achat d'art sont liées à un panier d'achat.
‫Ainsi, au lieu d'avoir plusieurs fonctions qui pourraient être remplacées, je n'ai qu'un seul espace de noms.
‫Et au fait, c'est aussi l'une des raisons pour lesquelles je ne recommande pas de faire quelque chose comme
‫ça, vous pouvez réellement importer des étoiles.
‫Et ce que cela dit, c'est que, depuis le module utilitaire, importez tout.
‫Et quand tu fais ça.
‫Vous verrez qu'une fois de plus, nous obtenons un air parce qu'il importe aussi le max, et parce que nous ne savons même pas ce qui est
‫importé en ce moment, nous ne pouvons pas le voir.
‫Nous devons aller au fichier pour le voir.
‫Quand on prend un air comme ça, on va se dire, qu'est-ce qui se passe ?
‫J'ai pensé, Max travaille et c'est à cause de cette ligne.
‫Il est donc toujours bon d'être explicite et de dire exactement ce que vous voulez importer.
‫Mais supprimons Max pour le moment, mais comme vous pouvez le voir, les modules peuvent être importants de différentes manières.
‫Ma recommandation est de toujours être explicite et de dire exactement ce que vous voulez importer.
‫Et le format suit généralement soit en utilisant l'instruction import suivie du module de package, soit en important le module, ou vous pouvez
‫faire l'instruction from pour lui donner un package, un package de support et un module si vous le souhaitez, ou vous pouvez
‫créer un module puis dire importer et la fonction spécifique ou le module lui-même, de nombreuses façons de
‫le faire en fonction de vos besoins.
‫Le principal point à retenir ici est que les modules et les packages nous aident à avoir de bonnes pratiques d'ingénierie et à construire
‫de grands projets de manière organisée, tout en permettant à tous ces fichiers de communiquer entre eux.
‫D'accord, c'était beaucoup, apprenons-en plus dans la prochaine vidéo.