Maison >développement back-end >Tutoriel Python >Quels sont les principaux changements apportés aux déclarations d'importation de Python 3 concernant les importations relatives et en étoile ?

Quels sont les principaux changements apportés aux déclarations d'importation de Python 3 concernant les importations relatives et en étoile ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-28 22:26:18496parcourir

What are the Key Changes to Python 3's Import Statements Regarding Relative and Star Imports?

Modifications dans l'instruction d'importation dans Python 3 : compréhension des importations relatives et en étoile

Dans Python 3, des modifications importantes ont été apportées à l'instruction d'importation pour améliorer la clarté et éviter toute ambiguïté potentielle. Cet article approfondit ces changements et explique leurs implications pour les programmeurs.

Importations relatives

Les importations relatives vous permettent d'importer des modules par rapport à l'emplacement actuel du module. Dans Python 2, les importations relatives étaient implicitement autorisées dans les packages. Cependant, dans Python 3, cette fonctionnalité est obsolète. Les importations absolues et les importations relatives explicites sont désormais les options prises en charge.

Les importations absolues spécifient le chemin complet du module, par exemple :

import mypackage.mymodule

Les importations relatives explicites utilisent le . et .. syntaxe pour spécifier le chemin relatif, tel que :

from .mymodule import MyModule

Ce chemin indique que mon module est dans le même répertoire que le module actuel.

Star Imports

Les importations en étoile, qui importent tous les noms d'un module, étaient auparavant autorisées au niveau du module et au sein des fonctions dans Python 2. Cependant, dans Python 3, les importations en étoile sont uniquement autorisé dans le code au niveau du module.

Par exemple, dans Python 2, vous pouvez importer l'intégralité du module mathématique dans une fonction :

def sin_degrees(x):
    from math import *
    return sin(degrees(x))

Dans Python 3, cela n'est plus valide. Au lieu de cela, vous pouvez soit importer les fonctions spécifiques dont vous avez besoin :

def sin_degrees(x):
    from math import sin, degrees
    return sin(degrees(x))

Ou bien, vous pouvez importer l'intégralité du module au niveau du module :

from math import *

def sin_degrees(x):
    return sin(degrees(x))

Ces changements visent à promouvoir la clarté, à réduire ambiguïté et appliquer les meilleures pratiques en matière de gestion des modules et des packages dans Python 3 et au-delà.

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