if name == "main": Il peut être considéré comme l'entrée du programme python, tout comme la méthode main() en java, mais ce n'est pas tout à fait correct .
En fait, le programme python est exécuté ligne par ligne de haut en bas. Dans le fichier .py, à l'exception des fonctions définies après def, le code sera considéré comme le contenu du ". main" de haut en bas. Exécutez ci-dessous. Si vous voulez juste écrire un super "bonjour tout le monde" et que vous ne voulez pas écrire de fonction, vous pouvez simplement imprimer ("bonjour tout le monde"). Il s'agit d'un "programme" et ne nécessite pas ce qu'on appelle le "principal". " entrée de méthode. Bien sûr, si vous testez la fonction function, vous devez écrire if name == "main" dans le fichier .py puis appeler la fonction.
Par exemple, le fichier hello.py suivant :
print("first") def sayHello(): str = "hello" print(str); print(__name__+'from hello.sayhello()') if __name__ == "__main__": print ('This is main of module "hello.py"') sayHello() print(__name__+'from hello.main')
Résultats d'exécution :
first This is main of module "hello.py" hello __main__ from hello.sayhello() __main__ from hello.main
Comprenez-vous ce que je veux dire ? Exécutez d'abord la première ligne d'impression, puis exécutez les éléments dans "l'entrée"
En parlant de ça, que signifie la phrase if name == "main" ?
name__ est en fait un attribut intégré qui indique comment le fichier py actuel est appelé. Lorsque l'exemple ci-dessus est exécuté, peu importe où se trouve l'attribut __name__ dans l'ensemble du programme, la valeur est __main. Lorsque ce fichier hello.py est importé en tant que module dans un autre fichier .py (c'est-à-dire importation), tel que world .py. , et que vous exécutez world.py, alors l'attribut __name__ dans hello.py deviendra hello. La soi-disant entrée ne sera pas exécutée car le jugement if échoue
Donc si le jugement du. L'instruction a virtualisé avec succès une méthode main().
Comme mentionné, python est exécuté ligne par ligne, donc lorsqu'il lit import hello, il exécutera également hello.py. Par exemple, exécutez le fichier world.py suivant :
import hello#上一个例子的hello.py if __name__ == "__main__": print ('This is main of module "world.py"') hello.sayHello() print(__name__)
first This is main of module "world.py" hello hellofrom hello.sayhello() main
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!