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
Libérer: 2024-11-28 22:26:18
original
546 Les gens l'ont consulté

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
Copier après la connexion

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

from .mymodule import MyModule
Copier après la connexion

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))
Copier après la connexion

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))
Copier après la connexion

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))
Copier après la connexion

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!

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