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 ?
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!