Cette conférence couvrira les modules et les packages en Python.
Ils sont un moyen d'organiser votre code sous forme de fichiers et sont vraiment importants si vous avez l'intention de créer des applications Web avec Python
Modules
Un module en Python est essentiellement un fichier avec du code python que nous utilisons pour organiser notre code en fichiers. Pensez-y comme des sections dans un supermarché. Lorsque vous allez dans un supermarché, il y a différentes sections pour les fruits, les légumes, les produits de nettoyage, etc. Vous ne voyez pas une seule section avec tous les produits.
C'est le même concept en programmation. Au lieu d'écrire tout notre code avec toutes les fonctions et classes dans main.py, nous divisons notre code en plusieurs fichiers. Chaque fichier est appelé module. Grâce à cela, non seulement notre code est mieux organisé et structuré, mais nous avons également la possibilité de réutiliser notre code. Voyons cela à travers un exemple.
Définissons deux fonctions pour convertir le poids de livres en kilogrammes et vice versa.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Maintenant, nous pouvons prendre ces deux fonctions et les mettre dans un module séparé appelé "convertisseurs", puis il peut être importé dans n'importe quel programme qui a besoin de ces fonctions de conversion. Laissez-moi vous montrer comment faire cela.
Ouvrons notre panneau de projet et faisons un clic droit sur le projet et ajoutons un nouveau fichier. Nous allons appeler ce fichier "Converters.py".
Maintenant, copiez le code du fichier par défaut et collez-le dans le "Converters.py".
Avec cela, nous avons nettoyé notre module principal et il n'est pas gonflé de différentes fonctions. Au fur et à mesure que nous écrivons plus de fonctions avec des classes, nous les plaçons dans leurs modules correspondants. Un module doit contenir toutes les fonctions et classes associées. Maintenant, nous voulons importer le module des convertisseurs dans notre module d'application. Pour ce faire, écrivez import converters
en haut sans l'extension ".py".
Nous pouvons accéder aux membres d'un module en utilisant un opérateur point similaire aux méthodes.
Convertissons 70 kg en livres :
Il existe également une autre syntaxe pour importer des modules. Au lieu d'importer le module entier, nous pouvons importer des fonctions spécifiques à partir de ce module. Nous pouvons taper from Converters import
et appuyez sur "contrôle + espace pour afficher la liste des fonctions disponibles. Avec cela, nous pouvons appeler directement cette fonction.
Exercises
Voici votre exercice.
Ceci est lié à un exercice de la conférence où nous avons discuté "pour les boucles" où nous avons écrit un programme pour trouver le plus grand nombre d'une liste
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Ce code n'a actuellement aucune organisation. Nous n'avons pas de fonctions ou de modules et le programme est écrit dans un seul fichier. C'est acceptable pour les petits programmes, mais au fur et à mesure que vos programmes grandissent, vous devez organiser correctement votre code en classes et modules. Par conséquent, dans le cadre de cet exercice, je veux que vous écriviez une fonction, appelez-la find_max
. Cette fonction doit prendre une liste et renvoyer le plus grand nombre de cette liste. Après cela, placez cette fonction dans un module séparé, extrayez-la d'ici et placez-la dans un module appelé utils
. Ce module devrait contenir un tas de fonctions utilitaires. Importez le utils
module dans le module actuel et appeler find_max
fonction. Enfin, obtenez le résultat et imprimez-le sur le terminal.
Cet exercice est un peu difficile mais facilement faisable.
Solution
Commencez par définir une fonction find_max
et ajoutez un paramètre appelé numéros. Dans cette fonction, écrivez l'algorithme pour trouver le plus grand nombre dans une liste.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Enregistrez ce code dans un fichier « utils.py » en tant que module.
De retour à notre programme principal, importez simplement le module par l'une des deux syntaxes et exécutez simplement la logique.
Une chose sur laquelle je dois attirer votre attention est le minage max
. La raison en est la max
est une fonction intégrée à Python et nous la redéfinissons. Il s'agit donc d'un avertissement du compilateur Python que nous ne pouvons plus utiliser max comme fonction intégrée.
Modules intégrés en Python
Python est livré avec une bibliothèque standard qui contient plusieurs modules pour des tâches courantes telles que l'envoi d'e-mails, le travail avec la date et l'heure, la génération de valeurs aléatoires et de mots de passe, etc. Il y a tellement de modules déjà intégrés à Python, ce qui signifie qu'il existe déjà de nombreuses fonctionnalités que nous pouvons réutiliser. Vous pouvez trouver ces modules ici.
Formules
Les packages sont essentiellement une autre façon d'organiser notre code au-dessus des modules. Un vrai projet peut contenir des centaines voire des milliers de modules et au fil du temps, notre répertoire sera gonflé avec autant de fichiers. Par conséquent, une meilleure approche consiste à organiser les modules associés à l'intérieur d'un package, ce qui fait du package un conteneur pour plusieurs modules.
Un nouveau répertoire est ajouté au projet et tous les modules associés sont ajoutés à ce répertoire. Par exemple, pensez à un centre commercial. Il existe différentes sections pour les vêtements pour hommes, femmes et enfants dans un centre commercial qui sont comme des paquets. Chaque section a des zones différentes pour différents types de produits comme des chaussures, des t-shirts et des vestes. Considérez-les comme des modules.
Voyons comment créer et utiliser des packages en Python.
Tout d'abord, ajoutez un nouveau répertoire à partir du panneau de projet. Appelons-le « eCommerce ». Ce package contiendra tous les modules liés à une application eCommerce.
C'est toujours un répertoire vide et pour le convertir en paquet, nous devons y créer un fichier spécial. Ajoutez un nouveau fichier python dans ce répertoire et nommez ce fichier "__init__". C'est une convention spéciale en Python et lorsque l'interpréteur Python voit un fichier portant ce nom dans un répertoire, il traite ce répertoire comme un package.
Nous avons également une méthode alternative et concise pour créer un package. Cliquez simplement avec le bouton droit sur le panneau du projet et créez un package Python à partir de la liste. Nommez-le "eCommerce" et c'est tout. Il créera automatiquement un répertoire avec un fichier Python nommé « __init__ ».
Maintenant, créons un module dans le package et nommons-le « expédition ». Dans ce module, créons une fonction simple pour calculer les frais d'expédition.
def calc_shipping():
print("calc_shipping")
Pour accéder à cette fonction dans notre module principal, nous devons y accéder via le package e-commerce. Encore une fois, nous avons deux méthodes pour importer ce module.
Dans la première méthode, nous pouvons importer le module entier puis appeler une fonction indépendamment comme ceci :
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Cependant, avec cette approche, appeler l'une des fonctions de ce module nécessite de la préfixer avec eCommerce.shipping.
C'est très verbeux. Ainsi, lorsque nous travaillons avec des packages, nous utilisons souvent la deuxième approche et utilisons le from
déclaration.
from eCommerce.shipping import calc_shipping
calc_shipping()
Si vous avez plusieurs fonctions dans un module, vous pouvez toutes les importer sur une seule ligne en utilisant des virgules entre elles. Disons qu'il y a une autre fonction pour calculer la taxe dans notre module d'expédition. Cela sera importé comme ceci:
from eCommerce.shipping import calc_shipping, calc_tax
Vous pouvez également importer des modules individuels et laisser les fonctions être appelées ultérieurement dans le programme. Importons le module d'expédition, puis utilisons un opérateur point pour appeler la fonction calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Emballer!
Les packages et les modules sont extrêmement importants en Python. Surtout quand on veut travailler avec un framework comme Django qui sert à construire Applications Web avec Python. Nous nous pencherons sur Django lors d'un autre cours Python.
C'était la dernière conférence conventionnelle de cette série. La prochaine conférence s'écartera de notre format habituel et nous apprendrons quelques cas d'utilisation importants en Python. Cela marquera la fin de cette série et nous passerons à notre prochaine série Python. Restez à l'écoute pour cela.
Soyez sympa! Laissez un commentaire