Maison  >  Article  >  développement back-end  >  Comment utiliser l'importation en python

Comment utiliser l'importation en python

coldplay.xixi
coldplay.xixioriginal
2021-03-05 14:35:2726026parcourir

Utilisez la méthode d'importation en python : 1. [import module_name], c'est-à-dire que le nom du module est directement connecté après l'importation ; 2. [from package_name import module_name] est une collection de modules.

Comment utiliser l'importation en python

L'environnement d'exploitation de ce tutoriel : système Windows 7, python version 3.9, ordinateur DELL G3.

Utilisez la méthode d'importation en python :

Tout d'abord, créez un dossier Tree comme répertoire de travail et créez-y deux fichiers m1.py et m2 .py, écrivez le code dans m1.py :

import os
import m2
m2.printSelf()

Écrivez le code dans m2.py :

def printSelf():
print('In m2')

Ouvrez la ligne de commande, entrez dans le répertoire Tree, tapez python m1.py et exécutez, j'ai trouvé que aucune erreur n'a été signalée et In m2 a été imprimé, indiquant qu'il n'y a aucun problème à utiliser l'importation de cette manière. À partir de là, nous résumons la première utilisation de l’instruction import.

<code><strong>import module_name</strong>importer nom_module.

C'est-à-dire que le nom du module est directement suivi de l'importation. Dans ce cas, Python recherchera ce module à deux endroits. Le premier est sys.path (vérifiez-le en exécutant le code import sys; print(sys.path)). Le répertoire où se trouve le module os est dans la liste. sys.path , les répertoires des bibliothèques Python généralement installées se trouvent dans sys.path (le principe est d'ajouter le répertoire d'installation de Python aux variables d'environnement de l'ordinateur), donc pour les bibliothèques installées, nous pouvons les importer directement. Le deuxième endroit est le répertoire où se trouve le fichier en cours d'exécution (ici, m1.py) Étant donné que m2.py et le fichier en cours d'exécution se trouvent dans le même répertoire, il n'y a aucun problème avec la méthode d'écriture ci-dessus.

Il n'y a aucun problème pour importer la bibliothèque dans le sys.path d'origine en utilisant la méthode ci-dessus. Cependant, il est préférable de ne pas utiliser la méthode ci-dessus pour importer des fichiers dans le même répertoire ! Parce que cela peut mal tourner. Pour démontrer cette erreur, vous devez utiliser la deuxième façon d'écrire l'instruction d'importation, apprenons donc d'abord la deuxième façon d'écrire l'importation. Créez un nouveau répertoire Branch sous le répertoire Tree et créez un nouveau fichier m3.py dans Branch. Le contenu de m3.py est le suivant :

def printSelf():
print(&#39;In m3&#39;)

Comment importer m3.py dans m1, veuillez consulter le modifié m1.py :

from Branch import m3
m3.printSelf()
Résumez la deuxième utilisation de l'instruction d'importation :

<strong>from package_name import module_name</strong><strong>from package_name import module_name</strong> module_name.

Généralement, une collection de modules est appelée un package. Semblable à la première façon d'écrire, Python recherchera le package à deux endroits : sys.path et le répertoire du fichier en cours d'exécution, puis importera le module nommé

dans le package.

Expliquons maintenant pourquoi vous ne devez pas utiliser la première méthode d'importation pour importer des fichiers dans le même répertoire. Créez un nouveau fichier m4.py dans le répertoire Branch. Le contenu de m4.py est le suivant :

def printSelf():
print(&#39;In m4&#39;)

Ensuite, on importe directement m4 dans m3.py, et m3.py devient :

import m4
def printSelf():
print(&#39;In m3&#39;)
<.> À ce moment, lors de l'exécution de m1.py, une erreur sera signalée, indiquant que le module m4 ne peut pas être importé. Pourquoi? Jetons un coup d'œil au processus d'importation : m1 utilise from Branch import m3 pour importer m3, puis utilise import m4 dans m3.py pour importer m4. Vous voyez le problème ? m4.py et m1.py ne sont pas dans le même répertoire. Comment puis-je utiliser directement import m4 pour importer m4. (Les lecteurs peuvent essayer de créer un autre fichier m4.py directement dans le répertoire Tree. Vous constaterez qu'il n'y aura pas d'erreur lors de l'exécution à nouveau de m1.py, mais le deuxième m4.py est importé)

Face à l'erreur ci-dessus, aucune erreur ne sera signalée lors de l'exécution de m1.py en utilisant python2, car en python2, les deux façons d'écrire import mentionnées ci-dessus sont des importations relatives, tandis qu'en python3, ce sont des importations absolues. Cela dit, il s’agit de la partie la plus critique de l’importation : l’importation relative et l’importation absolue.

Nous parlons toujours de l'utilisation de l'importation de python3. Les deux méthodes d'écriture mentionnées ci-dessus sont des importations absolues, qui sont utilisées pour importer des packages dans sys.path et des packages dans le répertoire où se trouve le fichier en cours d'exécution. Pour les packages dans sys.path, cette façon d'écrire ne pose aucun problème ; si vous importez un fichier que vous écrivez vous-même, s'il s'agit d'un fichier d'entrée non en cours d'exécution (le m1.py ci-dessus est un fichier d'entrée en cours d'exécution, vous pouvez utiliser l'importation absolue ), vous devez l'importer relativement.

Par exemple, pour le fichier d'entrée non en cours d'exécution m3.py, vous devez utiliser l'importation relative pour importer m4.py :

from . import m4
def printSelf():
print(&#39;In m3&#39;)

À ce stade, l'exécution de m1.py sera correcte .

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo Python

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