サンプル集  >  Python  >  __name__ == '__main__'
__name__ == '__main__'
2023/05/20

importされたときに関数以外のコードが実行されないようif __name__ == '__main__' で判断するようにします。

◆環境
OS Windows 10 Home 22H2 64bit OS x64 プロセッサ
Python 3.9.6
VS Code 1.59.0

nameTest.py
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
def myAdd(a, b):
    print('myAdd\t\t:name={0}, a={1}, b={2}'
          .format(__name__, a, b)
          )
    return a+b

if __name__ == '__main__':
    print('nameTest START')
    x = myAdd(1, 2)
    print('nameTest\t:name={0}, x={1}'
         .format(__name__, x)
         )
    print('nameTest END')

実行してみます。

PS C:\python> py .\mainProc.py
mainProc START
myAdd           :name=nameTest, a=1, b=2
mainProc        :name=__main__, x=3     
mainProc END

nameTest.pyを直接実行してみます。

PS C:\python> py .\nameTest.py
nameTest START
myAdd           :name=__main__, a=1, b=2
nameTest        :name=__main__, x=3
nameTest END

nameTest.pyを直接実行すると__name__が__main__になり、if文以降が実行されました。

▲ PageTop  ■ Home


Copyright (C) 2023 ymlib.com