ʻSi nom == "main": ` Une ligne qui apparaît souvent dans le code source Python Vous pouvez vous en débarrasser avec "magie" À quoi cela sert-il?
Par exemple, supposons que vous créez un fichier appelé «helloWorld.py».
helloWorld.py
def main():
print("Hello Python!")
#Principale
main()
Plus tôt ʻSi name == Il n'y a pas de description de "main" `
$ python helloWorld.py
Hello Python!
Le résultat de l'exécution est obtenu. Cependant, dans cette configuration, même si ʻimport` est fait
>>> import helloWorld #À ce stade, "Bonjour Python!Est affiché
Hello Python!
Donc, je ne veux pas simplement importer un fichier Python et essayer de réutiliser la fonction principale, mais l'exécution est égoïste. Donc
def main():
print("Hello Python!")
# main()Insérez une ligne avant
if __name__ == "__main__":
main()
L'intérieur de cette instruction if n'est pas exécutée lors de son importation.
>>> import helloWorld
>>>
--Si vous importez helloWorld:
ʻSi name == Dans la variable namede "__main__" Contient le nom du module de ce fichier Python sous forme de chaîne. En d'autres termes Le contenu de
name est la chaîne de caractères" helloWorld "`
Il est devenu.
Dans helloWorld.py
La variable __name__ est la chaîne" __main__ "
Sera.
Dans le fichier helloWorld.py
qui importe helloWorld
La chaîne sera __name__
=="helloWorld"
.
Dans le helloWorld.py
qui était python hello.py
La chaîne est __name__
=="__main__"
.
Par conséquent, il est possible de l'empêcher de se déplacer sans permission simplement par ʻimport`! Voilà pourquoi. Hmmm, Python est profond. Il y a beaucoup de place à apprendre.
Recommended Posts