ʻSi \ _ \ _ nom \ _ \ _ == '\ _ \ _ main \ _ \ _': ` J'ai expérimenté comment la sortie change en 4 étapes + 2 étapes.
Cette fois, je vais montrer le comportement lors de l'exécution de .py indirectement avec un outil tel que "spyder" qui est souvent utilisé par les débutants.
Si vous souhaitez exécuter «$ python XXX.py» directement dans le terminal, consultez les détails de <Article de référence> au bas de cet article.
__name__
print ('Hello!')
Et enregistrez-la sous "hello.py".Exemple 1_hello.Définir py
#hello.py
def function():
print('Hello!')
Exemple 2_hello.import py
import hello
hello.function()
#Contenu de sortie
#--------------------
# Hello!
#--------------------
↓ Vous pouvez voir que la fonction a été exécutée.
Exemple 3_ajouter un nom
#hello.py
def function():
print('Hello!')
print(' __name__Ensuite, ce qui est affiché..!? -->' , __name__)
Exemple 4_hello.Essayez d'exécuter py
import hello
hello.function()
#Contenu de sortie
#--------------------
#Hello!
#__name__Ensuite, ce qui est affiché..!? --> hello
#--------------------
↓ Dans la partie \ _ \ _ nom \ _ \ _, "bonjour" de "hello.py" était affiché!
Il s'avère que \ _ \ _ nom \ _ \ _ contient le nom du module `` bonjour '' du module importé'hello.py'
.
__main__
Exemple 1_Mettez "Sato" dans le principal.
#hello.py
def function(name):
print('Hello!',name)
print('Au fait__name__Le contenu est-->',__name__)
if __name__ == '__main__':
print('La fonction dans main est-elle exécutée?..?',function('Sato'))
Exemple 2_Afficher "Tanaka"
import hello
hello.function('Tanaka')
#Contenu de sortie
#--------------------
#Hello! Tanaka
#Au fait__name__Le contenu est--> hello
#--------------------
↓
\ _ \ _ Name \ _ \ _ est resté le nom du module hello '' du module
hello.py ''.
Par conséquent, le contenu de ʻif name == '__ main __': `(préparé" Sato ") n'a pas été exécuté même s'il était dans function ().
En définissant ʻif name == '__ main __': `, il s'avère que le \ _ \ _ main \ _ \ _ suivant n'est pas exécuté.
Écrivez la partie qui ne doit pas être exécutée lors de l'importation sous ʻif name == '__ main__': `.
référence [Python] if name == Qu'est-ce que «__ main__» :?
Recommended Posts