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 Je verrai
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.
Il faut aller dans le dossier 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.