Comment utiliser la méthode main en Python

王林
Libérer: 2023-05-05 13:25:06
avant
3135 Les gens l'ont consulté

Text commence

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')
Copier après la connexion

Résultats d'exécution :

first
This is main of module "hello.py"
hello
__main__ from hello.sayhello()
__main__ from hello.main
Copier après la connexion

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__)
Copier après la connexion
#. 🎜🎜 #Résultat de l'exécution :

first
This is main of module "world.py"
hello
hellofrom hello.sayhello()
main
Copier après la connexion
Vous pouvez voir que la première ligne de print(«first’) dans hello.py est directement exécutée et que le __name__ dans hello.py affiche également hello. nom dans les sorties world.py __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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal