サンプル集  >  Python  >  import
import
2023/05/20

別モジュールの関数を実行してみます。 import文で他のモジュールをインポートすることで、そのモジュール内のコードにもアクセスできるようになります。

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

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

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

nameTest.pyのmyAddを呼び出す別モジュールを作成します。

mainProc.py
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
import nameTest

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

実行してみます。

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

mainProc.pyでnameTestをimportしています。 importするとdefで定義した関数は実行されませんが、関数ではない部分のコードはimport時点で実行されたようです。

nameTest.py内で表示している__name__変数はnameTest.pyがモジュールとして読み込まれているため__main__ではなくnameTestと表示されました。

▲ PageTop  ■ Home


Copyright (C) 2023 ymlib.com