Maison  >  Article  >  développement back-end  >  Espaces de noms et portées en Python

Espaces de noms et portées en Python

青灯夜游
青灯夜游original
2019-02-14 16:32:482053parcourir

En Python, chaque package, module, classe, fonction et méthode possède un "espace de noms" dans lequel les noms de variables sont résolus. L'article suivant vous présentera l'espace de noms et la portée en Python. J'espère qu'il vous sera utile.

Espaces de noms et portées en Python

Qu'est-ce qu'un espace de noms :

Un espace de noms est un système utilisé pour garantir qu'un programme Tous les noms sont uniques et peuvent être utilisés sans aucun conflit. Plusieurs espaces de noms peuvent utiliser le même nom et le mapper à différents objets. [Tutoriels vidéo recommandés : Tutoriel Python]

Par exemple, la structure du système de fichiers de répertoires dans un ordinateur. Inutile de dire que l’on peut avoir plusieurs répertoires et que chaque répertoire peut contenir un fichier portant le même nom. Cependant, on peut diriger un fichier en précisant son chemin absolu.

Les espaces de noms en Python sont implémentés sous forme de dictionnaires Python, ce qui signifie qu'il s'agit d'un mappage de noms (clés) vers des objets (valeurs). Les utilisateurs n'ont pas besoin de savoir cela pour écrire des programmes Python et lorsqu'ils utilisent des espaces de noms.

Types d'espaces de noms :

Espace de noms local : cet espace de noms contient des noms locaux dans les fonctions. Cet espace de noms est créé lorsqu'une fonction est appelée et ne dure que jusqu'au retour de la fonction.

Espace de noms global : cet espace de noms contient les noms des différents modules importés que vous utilisez dans votre projet. Il est créé lorsque le module est inclus dans le projet et dure jusqu'à la fin du script.

Espace de noms intégré : cet espace de noms contient des noms de fonctions et d'exceptions intégrés.

Espaces de noms et portées en Python

Durée de vie de l'espace de noms :

La durée de vie d'un espace de noms dépend de la portée de l'objet si la portée de l'objet se termine. , Le cycle de vie de l'espace de noms se termine. Par conséquent, les objets de l’espace de noms interne ne sont pas accessibles à partir de l’espace de noms externe.

Qu'est-ce que la portée ?

L'espace de noms peut nous aider à identifier de manière unique tous les noms du programme. Cependant, cela ne signifie pas que nous pouvons utiliser des noms de variables partout. Un nom a également une portée qui définit les parties du programme qui peuvent utiliser le nom sans aucun préfixe. Tout comme les espaces de noms, il existe plusieurs étendues dans un programme.

Une portée fait référence à une zone d'un programme où un espace de noms est accessible directement, c'est-à-dire sans utiliser de préfixe d'espace de noms. Autrement dit : la portée d'un nom est une zone du programme où le nom peut être utilisé explicitement, par exemple à l'intérieur d'une fonction. L'espace de noms d'un nom

est le même que sa portée. Les étendues sont définies de manière statique, mais elles sont utilisées de manière dynamique.

Ce qui suit est une liste de certaines portées qui peuvent exister pendant l'exécution du programme :

● Portée locale : il s'agit de la portée la plus interne et contient la liste des noms locaux disponibles dans la fonction actuelle.

● Portée de toutes les fonctions englobantes : le nom de recherche commence à partir de la portée englobante la plus proche et se déplace vers l'extérieur.

● Portée au niveau du module qui contient tous les noms globaux du module actuel.

● La portée la plus externe qui contient toutes les listes de noms intégrées. Enfin, recherchez dans cette plage le nom que vous avez référencé.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

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