Packages et modules Python

Packages et modules Python

Introduction

Chaque fois que vous avez besoin de fonctionnalités supplémentaires dans Python, vous vous tournez vers le importer mot-clé pour tirer des extras à partir de modules Python. Vous avez utilisé des communs comme le mathématiques module plusieurs fois.

Maintenant, vous apprendrez à créer vos propres modules et packages Python pour compartimenter votre code. Les modules sont un peu comme des classes en ce qu'ils rendent votre code modulaire. Alors que les classes rendent le code modulaire dans un programme et servent de plans pour les objets, les modules rendent tout votre code modulaire dans tous les programmes et sont des utilitaires à utiliser comme ils sont.

Grâce à l'utilisation de modules, vous pouvez créer votre propre boîte à outils avec toutes sortes de pièces et de pièces que vous utilisez couramment. Les modules peuvent inclure n'importe quoi, des variables et des constantes aux fonctions et même aux classes. En raison de cette polyvalence, vous pouvez vous mettre en place pour avoir tout ce dont vous avez besoin au début de n'importe quel projet.

Écrire un module

Écrire un module n'est pas du tout difficile. Les modules ne sont en fait que des fichiers Python. Il n'y a rien de spécial à leur sujet. Ils sont juste structurés différemment car ils servent davantage de boîte à outils ou de stockage qu'un programme fluide et fonctionnel.

Avant de commencer à écrire un module, c'est une bonne idée de configurer un répertoire pour travailler. À moins que le module ne soit installé dans l'installation de votre système Python, le chemin du module est important.

Dans votre répertoire, créez deux fichiers, mathstuff.py et test.py.

S'ouvrir mathstuff.py et mettez les fonctions très parfaites suivantes.

importath math def pythag (a, b): return math.sqrt (a + b) def quadratique (a, b, c): x1 = (-1 * b + mathématiques.sqrt (b ** 2 - 4 * a * c)) / (2 * a) x2 = (-1 * b - mathématiques.sqrt (b ** 2 - 4 * a * c)) / (2 * a) return [x1, x2] 

Notez qu'il y a un importer ici aussi. Vous pouvez importer d'autres modules dans un module et utiliser ces instructions comme un moyen facile de gérer les dépendances.

C'est en fait tout ce dont vous avez besoin pour écrire un module Python. Ce module est très simple, mais vous pouvez clairement voir ce qu'il fait. Si vous vouliez écrire un programme qui nécessitait beaucoup de fonctions pour résoudre des équations spécifiques, vous pouvez créer un module pour contenir les fonctions que vous utilisez couramment.

Importation de votre module

Dirigez-vous vers votre test.py. Ouvrez-le et entrez du code pour utiliser le module que vous venez de créer.

De MathStuff Import Quadratic X_Vals = quadratic (10, 18, 6) pour x dans x_vals: imprimer (x) 

Comme l'un des autres modules que vous avez utilisés jusqu'à présent, vous pouvez utiliser importer Pour le tirer. Vous pouvez aussi utiliser depuis Pour sélectionner uniquement les pièces dont vous avez besoin.

De là, vous pouvez simplement appeler les fonctions que vous avez importées comme s'ils avaient été écrits dans le même fichier que le reste de votre programme.

Cet exemple a utilisé des fonctions parce qu'ils sont le cas d'utilisation le plus courant, mais vous pouvez tout aussi facilement travailler avec des classes ou des variables, et ce sera exactement le même.

Organisation avec des packages

Dans des projets plus grands, il y a de très bonnes chances qu'un seul fichier de module ne soit pas un bon ajustement. Un fichier peut rapidement remplir des charges de fonctions et de ballon à une taille ingérable. C'est là que les packages entrent.

Python traite les packages comme il serait modules, mais les packages vous permettent d'être plus organisé dans votre programmation, et dans des cas plus avancés, distribuez votre code Python sur les référentiels.

Les packages peuvent simplement être des structures de stockage où vous classez vos fonctions, classes et variables dans différents fichiers et les trier par leur cas d'utilisation ou fonctionnalité. Ils peuvent également être des fonctionnalités complètes qui sont prédéfinies et prêtes à l'emploi.

Imaginez que vous êtes un développeur indépendant, et vos clients demandent toujours une fonctionnalité similaire pour envoyer des e-mails de leurs applications. Vous pouvez créer un package qui contient toutes ces fonctionnalités de messagerie et la brancher à chaque projet. Cela vous fait économiser une tonne de temps, et cela pourrait économiser de l'argent à vos clients. Dans ce cas, l'utilisation de packages est une victoire polyvalente.

Un package Python, au sens le plus élémentaire, n'est qu'un dossier avec un fichier python appelé, __init__.py. Ce fichier n'a rien à contenir. Il permet juste à Python de savoir pour traiter ce dossier comme un package, qui agit comme un gros module.

Essayez de créer un package en utilisant le module que vous avez déjà fait. Faites un nouveau répertoire où vous êtes, créez le __init__.py et déplacer votre mathstuff.py en aussi.

$ mkdir mathstuff $ touch mathstuff / __ init__.py $ mv mathstuff.py mathstuff / 

Si vous exécutez votre test.py Encore une fois, ça marchera toujours. Les fichiers dans les packages avec le même nom peuvent être importés avec juste leur nom. Changez le nom du mathstuff.py déposer. Ça ne fonctionnera plus. Pour utiliser d'autres fichiers dans un package, vous devez les importer avec la notation DOT.

Depuis le paquet.Fonction d'importation de fichiers

Essayez de reconfigurer votre relevé d'importation et réessayez. Cela fonctionnera aussi bien qu'avant.

Réflexions de clôture

L'utilisation de modules et de packages peut vous aider à organiser votre code et à garder tout modulaire réutilisable. Ils peuvent également aller grandement pour désencombrer votre code et stimuler la lisibilité.

Des exercices

  1. Créez un nouveau module avec quelques fonctions dedans.
  2. Créez un fichier pour importer et exécuter les fonctions à partir de votre module et faites-le.
  3. Convertissez votre module en un paquet. Ajustez vos importations en conséquence.

Tutoriels Linux connexes:

  • Python Expressions régulières avec des exemples
  • Comment créer une application Tkinter à l'aide d'un objet orienté…
  • Tutoriel de débogage GDB pour les débutants
  • Installez Arch Linux dans VMware Workstation
  • Advanced Bash Regex avec des exemples
  • Boucles de bash avec des exemples
  • Comment configurer un serveur OpenVPN sur Ubuntu 20.04
  • Comment travailler avec l'API WooCommerce REST avec Python
  • Boucles imbriquées dans les scripts bash
  • Comment gérer les référentiels Git avec Python