import ステートメントを使用したモジュールのインポート
モジュールを使用する最も一般的な方法は、import 文を使用してそれをインポートすることです。これにより、モジュール内のすべてのコードが現在のスクリプトで利用可能になります。
ファイルエクスプローラーには、main.py という名前の空のファイルがあります。これが、この実験(Lab)の残りの部分で使用するメインスクリプトになります。
main.py を開き、hello モジュールをインポートするために次の行を追加します。
import hello
print("The main.py script has finished.")
ファイルを保存します。次に、ターミナルから main.py を実行します。
python3 main.py
出力を注意深く観察してください。
This code runs on import or direct execution.
The main.py script has finished.
hello.py からの最初の print 文のみが実行されたことに注目してください。if __name__ == "__main__": ブロック内のコードはスキップされました。これは、main.py が hello をインポートするとき、hello.py のコンテキスト内での __name__ 変数が "__main__" ではなく、モジュールの名前である "hello" に設定されるためです。この機能は、インポート時に望ましくない副作用を発生させない再利用可能なモジュールを作成するために不可欠です。
次に、print 文以上のものを含むモジュールを扱ってみましょう。module_a.py ファイルを開きます。これには、変数、関数、クラスが含まれています。
PI = 3.14159
def greet(name):
print(f"Hello, {name} from module_a!")
class Calculator:
def add(self, x, y):
return x + y
main.py を変更して module_a をインポートし、そのメンバーを使用します。インポートされたモジュールのメンバーにアクセスするには、module_name.member_name という構文を使用します。
main.py の内容を以下に置き換えます。
import module_a
## Access the PI variable
print(f"The value of PI is {module_a.PI}")
## Call the greet function
module_a.greet("LabEx")
## Create an instance of the Calculator class and use its method
calc = module_a.Calculator()
result = calc.add(5, 3)
print(f"5 + 3 = {result}")
ファイルを保存して実行します。
python3 main.py
出力は次のようになります。
The value of PI is 3.14159
Hello, LabEx from module_a!
5 + 3 = 8
これは、import 文がモジュール全体をロードし、モジュールの名前をプレフィックスとして使用してその内容にアクセスする方法を示しています。