Utilisation de l'instruction «if __name__ == __main__» dans Python

Utilisation de l'instruction «if __name__ == __main__» dans Python
Certaines variables spéciales sont définies lorsqu'un script Python s'exécute. Le __nom__ La variable est l'une d'entre elles. Le fichier Python est enregistré avec le '.py ' extension et chaque fichier python est appelé module. Les classes, fonctions et variables sont définies par le module. Le __nom__ la variable est définie sur __principal__ Si l'interprète Python exécute un module dans le programme principal. Le __nom__ La variable est définie sur le nom du module si le fichier Python importe le module à partir d'un autre module. Le 'Si __name__ == __main__' L'instruction est utilisée pour vérifier si le module est importé ou non. Différentes utilisations de cette déclaration ont été montrées dans ce tutoriel.

Exemple-1: utilisation simple de la variable __name__

Créer un fichier python avec le script suivant qui appelle le principal() fonction si la valeur du __nom__ la variable est __principal__. Le principal() La fonction a été déclarée dans le script pour définir les déclarations. Une valeur de chaîne et une valeur de nombre seront imprimées après avoir appelé le principal() fonction. Aucun module n'a été importé dans le script. Alors le 'si' La déclaration sera retournée Vrai et le principal() La fonction sera appelée.

#Define la fonction principale
def main ():
# Print un message simple
Imprimer ("Tester l'utilisation de la variable __name__.")
#Initialiser la variable avec le nombre
n = 15
# Print la valeur de la variable
imprimer ("la valeur de n est", n)
#Check la valeur de __name__
Si __name__ == "__main__":
#All de la fonction principale ()
principal()

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. La sortie montre que le 'si' La condition est revenue vraie et le principal() La fonction a été appelée.

Exemple-2: Imprimez la valeur de la variable __name__

Créer un fichier python avec le script suivant qui appelle le principal() fonction si la valeur du __nom__ la variable est __principal__, Comme l'exemple précédent. Deux valeurs de nombre seront tirées de l'utilisateur et imprimeront la somme des nombres après avoir appelé la fonction principale (). La condition «if» vérifiera la valeur de la variable __name__. Si la condition revient Vrai, alors un message sera imprimé, la valeur du __nom__ la variable sera imprimée et la fonction principale sera appelée. Si la condition revient FAUX, alors un message sera imprimé et la valeur du __nom__ la variable sera imprimée.

#Define la fonction principale
def main ():
# Print un message simple
num1 = int (entrée ("Entrez le premier numéro:"))
num2 = int (entrée ("Entrez le deuxième numéro:"))
sum = num1 + num2
# Print la valeur de la somme
Print ("La somme de% d et% d est% d"% (num1, num2, somme))
#Check la valeur de la variable __name__
Si __name__ == "__main__":
Print ("L'interprète Python a appelé directement.")
print ("La valeur de la variable __name__ est" + __ name__)
principal()
autre:
Print ("L'interprète Python n'a pas appelé directement.")
print ("La valeur de l'attribut __name__ est" + __ name__)

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. La sortie montre que le principal() La fonction a été appelée parce que la valeur du __nom__ la variable est __principal__. 7 et 9 ont été pris comme entrée de l'utilisateur et la somme de 7 et 9 qui est 16, a été imprimée dans la sortie.

Exemple-3: utilisation de la variable __Name__ avec classe

Créez un fichier Python avec le script suivant qui définit une classe pour calculer la zone du cercle et du rectangle. Si la valeur du __nom__ la variable est __principal__, Ensuite, l'entrée sera prise de l'utilisateur. Ensuite, l'objet de la classe sera créé. Le Circle_area () la méthode sera appelée si la valeur d'entrée est 'cercle'. Le rectangle_area () la méthode sera appelée si la valeur d'entrée est 'rectangle'. Un message sera imprimé si la valeur d'entrée ne correspond pas au 'cercle' ou 'rectangle'.

#Declare la classe
Class CalculateArea:
#Declare Constructeur
def __init __ (self, type):
soi.type = type
Méthode #Declare pour calculer la zone du cercle
def Circle_area (self, rayon):
soi.rayon = rayon
zone = 3.14 * Self.rayon * soi.rayon
imprimer ("la zone du cercle est", zone)
Méthode #Declare pour calculer la zone rectangulaire
def rectangle_area (self, h, w):
soi.hauteur = h
soi.largeur = w
zone = soi.Hauteur * Self.largeur
imprimer ("la zone du rectangle est", zone)
#Check la variable __name__
Si __name__ == '__MAIN__':
areatype = entrée ("cercle ou rectangle?\ n ")
objet = CalculateArea (areatype.inférieur())
Si l'objet.type == 'Circle':
objet.Circle_area (4)
objet ELIF.type == 'rectangle':
objet.rectangle_area (10, 20)
autre:
Print ("Aucun type de correspondance trouvé.")

Sortir:


La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Dans la sortie suivante, le 'cercle' a été considéré comme la valeur d'entrée et la zone du cercle du rayon 4 a été imprimée dans la sortie.

Dans la sortie suivante, le 'rectangle' a été considéré comme la valeur d'entrée et la zone du rectangle (la valeur de hauteur, 10 et la valeur de largeur, 20) ont été imprimées dans la sortie.

Dans la sortie suivante, le 'carré' a été considéré comme une valeur d'entrée qui ne correspond pas à 'cercle' ou 'rectangle'.

Exemple-4: utilisation de la variable __name__ après importation d'un module

Créer un fichier python nommé fichier1.py avec le script suivant qui sera importé dans un autre fichier python. Ce script imprimera un message simple et un message basé sur le __nom__ variable.

fichier1.py
# Fichier Python Un module
# Print un message simple
Imprimer ("Message à partir du fichier1.py ")
# Print la valeur de la variable __name__
print ("La valeur de __name__ est", __name__)
Si __name__ == "__main__":
Print ("L'interprète Python a appelé directement.")
autre:
Print ("L'interprète Python n'a pas appelé directement.")

Créez un autre fichier Python avec le script suivant qui importera le fichier1.py En tant que module dans le script. Ce script imprimera un message simple et un message basé sur le __nom__ variable après l'importation du fichier1 module.

#Import Fichier1.py
Importer le fichier1
# Print un message simple
print ("Bienvenue à Linuxhint")
# Print la valeur de la variable __name__
print ("La valeur de __name__ est", __name__)
Si __name__ == "__main__":
Print ("L'interprète Python a appelé directement.")
autre:
Print ("L'interprète Python n'a pas appelé directement.")

Sortir:


La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. La sortie montre que la valeur du __nom__ La variable est changée en nom du module après importer un autre module dans le script.

Conclusion

Le but d'utiliser le __nom__ La variable a été expliquée dans ce tutoriel en utilisant différents types d'exemples pour aider les utilisateurs à l'utiliser correctement dans leur script.