モジュールを作る
FunctionTestというモジュールを作る。このモジュールにはprintmessageという関数があある。
FunctionTest.py
def printmessage():
print "message"
FunctionTestMain.py
import test.FunctionTest #インポート
test.FunctionTest.printmessage()
実行結果
message
import
importステートメントはモジュールを探し、コンパイルを行い、コードを実行する。すでにモジュールがロード済みの場合はこの処理は行わない。
importでは、モジュール全体に対応するモジュールオブジェクトが1つの変数に代入される。
from
fromステートメントはimportと同じような動きをするが内容がちょっと異なる。
モジュールファイル中の特定の変数を他のスコープにコピーする処理が行われる。
from test.FunctionTest import printmessage
printmessage() #完全名がいらなくなった
fromでは、モジュール中の特定の変数に対応するオブジェクトが、インポート先のモジュールのスコープに属する同じ名前の変数に代入される。