Vous avez peut-être vu cette ligne de code if __name__=="__main__": beaucoup dans les scripts Python, sans savoir quel est son véritable objectif. Ne vous inquiétez pas car dans ce court blog, nous en discuterons
Lorsque vous exécutez directement un programme ou un script, Python attribue automatiquement "main" à la variable spéciale name. Ceci est essentiellement fait pour indiquer que le fichier est le script "principal" ici et qu'il est exécuté directement au lieu d'être importé dans un autre.
Pour comprendre cela, créez un nouveau script Python, disons, nommez-le "example.py" et écrivez :
print("Name of Script: ", __name__)
Exécutez ceci et vous verrez le résultat Nom du script : __main__. C'est simplement parce que le fichier est exécuté directement.
Maintenant, créez un autre fichier de script Python et importez le example.py dans ce fichier. Exécutez-le et vous verrez un résultat différent disant Nom du script : exemple. C'est simplement parce que maintenant, au lieu de l'exécuter directement, nous importons le script et l'exécutons indirectement. Ainsi, Python affiche maintenant le nom réel du fichier.
Apportons quelques modifications à notre fichier exemple, afin de pouvoir encore mieux le comprendre.
def s_name(): print("Name of Script: ", __name__) s_name() def greet(): print("Hello! How are you doing?") if __name__=="__main__": greet()
Maintenant, si vous exécutez ceci directement, tout sera parfaitement exécuté, mais si vous exécutez l'autre fichier dans lequel vous importez le script example.py, vous remarquerez que l'appel de la fonction greet n'a pas été exécuté. Pourquoi ?
C'est à cause du conditionnel if. Le conditionnel vérifie si le fichier est exécuté directement ou non. S'il est exécuté directement, main sera attribué à la variable spéciale name qui rendra cette condition vraie et tout ce qui se trouve à l'intérieur de la condition fonctionnera comme d'habitude.
Mais d'un autre côté, si vous l'importez sur un autre fichier et que vous l'exécutez indirectement à partir de là, alors l'instruction de condition ne sera pas vraie et tout ce qui a été placé à l'intérieur du conditionnel ne sera pas exécuté.
C'est la signification de cette déclaration conditionnelle. Cela empêche l'interpréteur Python d'exécuter automatiquement des lignes de code inutiles lorsque nous importons un script en tant que module.
Cependant, nous pouvons appeler ces fonctions même lorsque nous importons un script en tant que module. Par exemple :
import example example.greet()
De cette façon, nous pouvons parfaitement appeler n'importe quelle fonction du module importé même lorsque la condition n'est pas satisfaite.
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!