Pythonで別のファイルからクラスをインポートしてみます。
Pythonモジュール(関数やクラスなどを1つのファイルにまとめたもの)は、インポートを使用し、別のファイル、関数をインポートすることで、別のモジュールからコードにアクセスすることが可能です。なお、import ステートメントは、インポート機構を呼び出す一般的な方法ではありますが、唯一の方法ではない。import ステートメントは、モジュールの名前と一緒に import キーワードで構成されている。ちなみにスタートメントは、Pythonの機能ブロックを構成する最小の命令文及び単位です。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■メソッドを持つクラスを作成する
では、早速別のファイルからクラスをインポートしてみますが、その前にメソッドを持つクラスを作成します。
■コード
class test_Class: def add(self,a,b): return a + b def sub(self,a,b): return a - b def method_test(): print("これはテストです。")
まずは、オブジェクトを作成するためのテンプレート(設計図)であるクラスを定義します。今回は「test_Class」になります。定義したクラス内にdef文を用いてメソッドを定義します。今回のメソッドは2つで、1つはadd()というメソッドで括弧内で設定した引数,パラメータに渡した値を”+(プラス),算術演算子”を用いて加算し、加算した結果をreturnとして返すものです。もう1つは、sub()というメソッドで括弧内で設定した引数,パラメータに渡した値を”-(マイナス),算術演算子”を用いて減算し、減算した結果をreturnとして返すものです。
クラスを定義後、これとは別にdef文を用いてmethod_test()という関数を定義します。この関数が呼び出された時に実行される処理としては、print()で日本語の文字列を出力させるというものになります。
コードを記述後、「h_test.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)内に保存します。
今回はPythonが実行されている作業ディレクトリ(カレントディレクトリ)が「C:\Users\user_」なので、このディレクトリ内に保存します。
■モジュールをインポートする
保存後、モジュールをインポートして、クラスと関数にアクセスしてみます。アクセスするために、別ファイルを作成し、コードを書いていきます。
■コード
import h_test object_test = h_test.test_Class() print(object_test.add(10,8)) print(object_test.sub(100,11)) h_test.method_test()
まずは、先程作成した「h_test.py」のファイルをモジュールとして呼び出しますので、importを用います。そして名前を「h_test」とします。これでモジュールをインポートすることができます。
その後、object_testという変数を定義し、その中でh_test.test_Class()を用います。これでオブジェクトを作成するプロセスであるインスタンス化が行われました。
インスタンス化した後に、「h_test.py」でクラス内に定義したメソッドにアクセスするために、ドット(.)演算子を用いて、add()とsub()の2つのメソッドにアクセスします。この際にそれぞれの引数,パラメータに値を渡します。
さらに、今回のモジュール内のmethod_test()にもアクセスしてみますので、作成したオブジェクトに対してドット(.)演算子を用いてアクセスします。
■実行・検証
このファイルを「test_c_m.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、モジュールをインポートして、クラスと関数にアクセスすることができました。
コメント