Maison > développement back-end > Tutoriel Python > Comment les instructions d'importation ont-elles changé dans Python 3 ?

Comment les instructions d'importation ont-elles changé dans Python 3 ?

Mary-Kate Olsen
Libérer: 2024-12-02 07:26:10
original
218 Les gens l'ont consulté

How Have Import Statements Changed in Python 3?

Modifications dans l'instruction d'importation dans Python 3

Dans Python 3, le mécanisme d'importation a subi des révisions importantes, introduisant de nouvelles règles pour les importations relatives et restreindre les importations d'étoiles.

Qu'est-ce qu'un parent Importer ?

Une importation relative est une instruction d'importation qui fait référence à un module ou à un package par rapport à l'emplacement du module actuel dans le système de fichiers. Par exemple, considérons la structure de fichier suivante :

mypkg/
  __init__.py
  module1.py
  module2.py
Copier après la connexion

Dans module2.py, l'instruction de module1 import Foo serait une importation relative, car elle importe la classe Foo du module frère module1.

Importations relatives explicites

Python 3 nécessite des importations relatives explicites, qui spécifient clairement l'emplacement du fichier importé. modules. Le point initial ("".") dans une instruction d'importation indique une importation relative. Par exemple, from .module1 import Foo importe Foo du module relatif module1.

Suppression des importations relatives implicites

Dans Python 2, les importations relatives implicites permettaient aux modules d'être importés sans préciser explicitement leur emplacement. Cependant, ce comportement est obsolète dans Python 3. Par exemple, l'instruction import module1 dans Python 2 importerait implicitement module1.py à partir du répertoire actuel. Cependant, dans Python 3, cette instruction générerait une erreur, nécessitant une importation explicite à l'aide de from . import module1.

Les importations d'étoiles

Les importations d'étoiles (par exemple à partir de x import *) ne sont autorisées que dans le code au niveau du module dans Python 3. Cela signifie que les modules ne peuvent pas utiliser star importe lors de l'importation d'autres modules.

Exemple d'utilisation de Relative Importations

Considérez le code Python 2 suivant :

# module1.py
class MyClass:
    def __init__(self):
        print("Hello from MyClass")
Copier après la connexion
# module2.py
from module1 import MyClass
Copier après la connexion

Dans Python 3, module2.py devrait être réécrit comme :

# module2.py
from .module1 import MyClass
Copier après la connexion

Cette importation relative explicite garantit que MyClass est importée depuis le bon emplacement par rapport au module2.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal