Module principal et module non principal
1. Définition du module principal et du module non principal
Dans les fonctions Python, si une fonction appelle d'autres fonctions pour compléter une fonction, on appelle cette fonction la fonction principale. Si une fonction n'appelle pas d'autres fonctions, on appelle. it Cette fonction est une fonction non principale. Les définitions des modules principaux et des modules non principaux sont également similaires. Si un module est utilisé directement et n'est pas appelé par d'autres, nous appelons ce module le module principal. Si un module est appelé par d'autres, nous appelons ce module un non-module. module principal.
2. Attribut de nom
En Python, il existe des modules principaux et des modules non principaux. Bien sûr, il faut les distinguer. Alors, comment faire la distinction entre les modules principaux et les modules non principaux ?
Cela nécessite l'utilisation de l'attribut __name__. La valeur de l'attribut ——name—— est une variable, et cette variable est donnée par le système. Cette variable peut être utilisée pour déterminer si un module est le module principal. Si la valeur d'un attribut est __main__ , alors ce module est le module principal, et vice versa. Mais veuillez noter : ** Cet attribut __main__ nous aide uniquement à déterminer s'il s'agit du module principal. Cela ne signifie pas que cet attribut détermine s'il s'agit du module principal. La condition pour déterminer s'il s'agit du module principal est de savoir si le module l'a. été appelé. **
Regardez l'exemple spécifiquement :
Créez d'abord le module lname, puis déterminez s'il s'agit du module principal. S'il s'agit du module principal, affichez main. Sinon, affichez non principal. Tout d'abord, exécutez le module directement. Puisque le module est utilisé directement, il n'a pas été appelé, c'est donc le module principal, donc main est la sortie. Voir la figure ci-dessous pour plus de détails :
Créez ensuite un module user_lname. qui importe simplement le module lname, puis l'exécute. Le résultat de sortie n'est pas principal, car le module lname est appelé par ce module, ce n'est pas le module principal. Le résultat de sortie est comme indiqué dans la figure :
.