Maison  >  Article  >  développement back-end  >  Explication détaillée de trois méthodes d'importation de modules personnalisés dans Python3

Explication détaillée de trois méthodes d'importation de modules personnalisés dans Python3

不言
不言original
2018-05-16 13:47:335726parcourir

Cet article vous présente principalement les trois méthodes d'importation de modules personnalisés dans Python3. L'article le présente en détail à travers un exemple de code, qui a une certaine valeur d'apprentissage de référence pour l'étude ou le travail de chacun

Avant-propos

J'ai récemment appris la section du module du tutoriel de Liao Xuefeng. Concernant comment personnaliser un module, si vous ne comprenez pas, jetons d'abord un coup d'œil à l'introduction de base :

Module

Dans le développement de programmes informatiques Au fur et à mesure que de plus en plus de code de programme est écrit, le code d'un fichier deviendra de plus en plus long, le rendant de moins en moins facile à maintenir.

Afin d'écrire du code maintenable, nous regroupons de nombreuses fonctions et les plaçons dans différents fichiers. De cette façon, chaque fichier contient relativement moins de code. En Python, un fichier .py est appelé un module.

Quels sont les avantages de l'utilisation de modules ?

Le plus grand avantage est que cela améliore considérablement la maintenabilité du code. Deuxièmement, vous n’êtes pas obligé de repartir de zéro lorsque vous écrivez du code. Lorsqu'un module est écrit, il peut être référencé ailleurs. Lorsque nous écrivons des programmes, nous faisons souvent référence à d'autres modules, notamment aux modules intégrés de Python et aux modules tiers.

L'utilisation de modules peut également éviter les conflits entre les noms de fonctions et les noms de variables. Les fonctions et variables portant le même nom peuvent exister dans différents modules. Par conséquent, lorsque nous écrivons le module nous-mêmes, nous n'avons pas à considérer que le nom entrera en conflit avec d'autres modules. Mais veillez également à ne pas entrer en conflit avec les noms de fonctions intégrés. Cliquez ici pour voir toutes les fonctions intégrées de Python.

Vous vous demandez peut-être aussi : et si différentes personnes écrivaient des modules portant le même nom ? Afin d'éviter les conflits de noms de modules, Python a introduit une méthode d'organisation des modules par répertoire, appelée package.

Par exemple, un fichier abc.py est un module nommé abc, et un fichier xyz.py est un module nommé xyz.

Maintenant, supposons que nos deux noms de modules abc et xyz entrent en conflit avec d'autres modules, afin que nous puissions organiser les modules via des packages pour éviter les conflits. La méthode consiste à choisir un nom de package de niveau supérieur, tel que mycompany, et à le stocker dans le répertoire suivant :

mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py

Une fois le package introduit, tant que le nom du package de niveau supérieur n'est pas en conflit avec les autres, tous les modules ne seront pas en conflit avec les autres. Désormais, le nom du module abc.py devient mycompany.abc, et de même, le nom du module xyz.py devient mycompany.xyz.

Veuillez noter qu'il y aura un fichier __init__.py sous chaque répertoire de package. Ce fichier doit exister, sinon, Python traitera ce répertoire comme un répertoire normal au lieu d'un package. __init__.py peut être un fichier vide ou contenir du code Python, car __init__.py lui-même est un module et son nom de module est mycompany.

De même, il peut y avoir des répertoires à plusieurs niveaux pour former une structure de package à plusieurs niveaux. Par exemple, la structure de répertoires suivante :

mycompany
├─ web
│ ├─ __init__.py
│ ├─ utils.py
│ └─ www.py
├ ─ __init__.py
├─ abc.py
└─ xyz.py

Le nom de module du fichier www.py est mycompany.web.www, et les noms de module du deux fichiers utils.py sont respectivement mycompany.utils et mycompany.web.utils.

Lorsque vous créez votre propre module, vous devez faire attention au nom, et il ne peut pas entrer en conflit avec le nom du module fourni avec Python. Par exemple, si le système est livré avec le module sys, votre module ne peut pas être nommé sys.py, sinon vous ne pourrez pas importer le module sys fourni avec le système.

mycompany.web est également un module, merci de signaler le fichier .py correspondant à ce module.

Résumé

Un module est une collection de codes Python qui peuvent utiliser d'autres modules et peuvent également être utilisés par d'autres modules.

Lors de la création de votre propre module, veuillez noter :

  • Le nom du module doit suivre la convention de dénomination des variables Python et ne pas utiliser de caractères chinois ou spéciaux

  • Le nom du module ne doit pas entrer en conflit avec le nom du module système. Il est préférable de vérifier si le module existe déjà dans le système. La méthode de vérification consiste à exécuter import abc dans l'environnement interactif Python. réussit, cela signifie que ce module existe dans le système.

Les modules sont une bonne chose. Les experts partagent de nombreux modules en open source, ce qui accélère également le développement de chacun

Parce que je ne fais que commencer, je ne le fais pas. Je ne comprends pas beaucoup de détails sur Internet. Lors de mes recherches d'informations, j'ai trouvé que les tutoriels donnés par les experts étaient trop concis, ce qui rendait très difficile pour moi, novice, de réussir.

Alors enregistrez-le ici.

Démarrer

La première façon est d'importer directement

Il y a un principe majeur ici , c'est-à-dire que votre fichier d'exécution py et votre module appartiennent au même répertoire (répertoire parent), comme indiqué ci-dessous :

  • main.py et module pwcong sont ensemble Le répertoire python

  • Le fichier d'exécution est main.py

  • Le dossier pwcong est un module

J'ai écrit les fonctions fournies par le module pwcong dans __init__.py, qui ne fournit qu'une seule fonction hi :

# pwcong 模块的 __init__.py
# -*- coding: utf-8 -*-
def hi():
 print("hi")

Exécutez le fichier main.py pour importer directement le module :

# main.py
# -*- coding: utf-8 -*-
import pwcong
pwcong.hi()

Ensuite, nous exécutons main.py et nous pouvons voir que la fenêtre de ligne de commande affiche la phrase hi La première méthode est terminée.

La façon d'utiliser le module est la suivante : importez d'abord -> puis entrez la fonction module.variable|, telle que pwcong.hi() dans l'exemple ci-dessus

Deuxièmement, importez le chemin du module personnalisé via le module sys

Si le fichier exécutable et le module ne sont pas dans le même répertoire, le module personnalisé ne peut pas être trouvé par. importation directe. Comme indiqué ci-dessous :

  • Le fichier d'exécution main.py se trouve dans le répertoire principal

  • Le pwcong le module est dans le répertoire python Suivant

Le module sys est intégré à python, donc les étapes à suivre pour importer un module personnalisé sont les suivantes :

  1. Importez d'abord le module sys

  2. Ensuite, utilisez la fonction sys.path.append(path) pour importer le répertoire où se trouve le module personnalisé

  3. Importez le module personnalisé.

À ce stade, main.py est écrit comme ceci :

# main.py
# -*- coding: utf-8 -*-
import sys
sys.path.append(r"C:\Users\Pwcong\Desktop\python")
import pwcong
pwcong.hi()

Enfin, exécutez le fichier main.py et enfin affichez hi La deuxième méthode est terminée. .

La troisième méthode consiste à trouver le module personnalisé via le fichier pth

Le principe de cette méthode est d'utiliser des variables système Python va scanner le chemin du chemin. variable pour importer le module. Vous pouvez l'ajouter au chemin du système. Mais je recommande toujours d'utiliser l'ajout de fichiers pth.

La structure du répertoire des modules et des fichiers exécutables est la même que celle de l'image ci-dessous :

  • Le fichier exécutable main.py se trouve dans le répertoire principal

  • Le module pwcong est dans le répertoire python

On crée un fichier module_pwcong.pth dont le contenu est le répertoire où se trouve le module pwcong :

C:UsersPwcongDesktoppython

Placez le fichier module_pwcong.pth ici :

répertoire d'installation de Python Python35Libsite-packages

Par exemple, le mien :

Ensuite, main.py importe et utilise le module personnalisé :

# -*- coding: utf-8 -*-
import pwcong
pwcong.hi()

Enfin, exécutez le main.py fichier, vous pouvez sortir hi, la troisième façon de terminer.




Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn