Comment python localise un module lors de l’importation ?

Comme nous l’avons expliqué dans les anciens articles autour de python, un module est essentiellement un fichier contenant du code que l’on peut appeler pour faciliter le codage. Si vous voulez comprendre comment python fonctionne pour localiser un module, nous vous répondons d’emblée : l’instruction (la méthode) import initialise le processus de l’importation.

Difference Between Local and Global Variable (with Comparison Chart) - Tech  Differences
Python

La méthode “import” initialise une recherche basée sur le nom du module désiré, cette recherche s’effectue le plus souvent sur les modules standards, si la ressource demandée n’est pas présente parmi eux alors la recherche se poursuit dans les répertoires définis dans le fichier sys. chemin.

La liste de ces répertoires peut être visualisée en important le module sys qui permet de lire le fichier lui-même :

# List of Python system directories
>>> import sys
>>> sys.path
['',
'C:\\Python\\Lib\\idlelib',
'C:\\WINDOWS\\SYSTEM32\\python.zip',
'C:\\Python\\DLLs',
'C:\\Python\\lib',
'C:\\Python',
'C:\\Python\\lib\\site-packages']

Fondamentalement, lorsque Python recherche des modules localement, il analyse en commençant par le répertoire local puis en passant au PYTHONPATH, c’est-à-dire la variable d’environnement qui contient le chemin vers les répertoires, et enfin en impliquant le chemin par défaut de l’installation en cours.

La variable PYTHONPATH est définie au moment de l’installation, mais peut être modifiée si nécessaire :

# Définir le PYTHONPATH sous Windows
définir PYTHONPATH=C:\Python\lib ;
# Définition de PYTHONPATH sur les systèmes basés sur Unix
définir PYTHONPATH=/usr/local/lib/python


Le mécanisme utilisé pour gérer le nom des modules: et s’il y a des homonymes?

Cela se fait grâce aux dictionnaires contenant des clés, en pratique des noms de variables, et des valeurs, des objets associés aux clés.

Les instructions Python peuvent accéder aux variables dans les espaces de noms locaux et globaux, si une variable locale et une variable globale ont le même nom, la variable locale masquera la variable globale.

                                     Fonction <==> Espace de nom spécifique 

Toute variable à laquelle une valeur est attribuée dans une fonction est considérée comme locale.

La fonction global () : attribuer une valeur globale à une variable dans une fonction

La fonction dir()

La fonction bull-in dirO transforme un Estofstrings trié contenant les noms définis par un module.

L’IEst contient les noms de tous les modules, variables et fonctions qui sont définis dans un module.

Exemple simple :

1/ur/bin/python

 Import math
content-dir (maths)

Output:

!&#39;_dac_&#39;. &#39; fichier_&#39;. '_name_', 'acea', 'asin', 'atan',
&quot;atan2&quot;, &quot;ceil&quot;, &quot;cos&quot;, &quot;coah&quot;, &quot;degreea&quot;, &quot;e&&quot; #39;, &quot;exp&quot;.
&quot;faba&quot;, &quot;sol&quot;, &quot;fmod&quot;, &quot;Erexp&quot;, &quot;hypot&quot;, *1dexp&quot;, &quot; ; 'journal'.
*log10*, &quot;modt&quot;, &quot;pt&quot;, &quot;pow&quot;, &quot;radiana&quot;, &quot;ain&quot;, &quot;ainh&quot; #39;.
'aqrt', 'tan', 'tanh')

Ici, la chaîne spéciale variable_name_ est le nom du module, et_file__ est le flemme à partir duquel le module a été ajouté.

La fonction Dir () - python
La fonction Dir () – python

Les fonctions globals() et locals() :

Les fonctions globals() et locals() peuvent être utilisées pour retourner les noms dans les espaces  global et beal se déperlant sur le battement d’où ils sont appelés

Si bealks() est appelé à partir d’une fonction, vous renverrez les noms qui seront accessibles localement à partir de cette fusion

Si globals() est appelé depuis une fonction, vous retrouverez les noms accessibles globalement depuis cette fonction

Fonction

Le type de retour de ces deux fonctions est dictionnaire. Par conséquent, les noms peuvent être extraites à l’aide de la

fonction keys0

La fonction reload () :

Lorsque le module est importé dans un script, le code de la partie de niveau supérieur d’un module est exécuté une fois. Par conséquent, si vous souhaitez exécuter le module ima top-level code, vous pouvez utiliser le reload ()

fureur. La fonction reload importe à nouveau un module précédemment importé Les syntas du reload

Exemple:

Pour reload hello module, faites ce qui suit :

reload(hello)

Un package est une structure hiérarchique de répertoires de fichiers qui définit une seule application Python qui se compose de modules et de sous-packages et de sous-sous-packages, etc.

Autres articles

Héritage en Python : Comprendre les Fondements...
L'héritage est l'un des concepts fondamentaux de la programmation orientée...
Read more
Guide Complet sur les Nombres Premiers en...
Dans cet article, nous explorerons en détail ce...
Read more
Vérifier si une chaîne de caractères est...
Cet article explore différentes approches pour vérifier si une chaîne...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *