こんにちは、ECF Tech
ブログ担当 Michiharu.Tです。
Pythonでプログラミングを楽しく始めるためのプチ講座を連載しています。第1回からの内容は下をご参考ください。
いつもはWeb上のGoogle Colaboratoryの動作環境で説明を行なっていますが、今回のテーマには少々向かないようなので、ローカル(自身のPC内の)環境の説明で進めたいと思います。ローカル環境構築は下のリンクをご参考ください。
Google Colaboratoryについてはこちら↓
対象読者
- プログラミングを始めてみたいと思っている方
- パソコンでインターネットやWord・Excelの基本操作ができる方
- 数学の授業にプログラミングを取り入れたいと考えている先生方
テーマ
今回のテーマは「モジュールをつくろう!」です。前回は元々Pythonに備わっているモジュールを使っていきましたが、そのモジュールを自分でも作れるようになろう!というのが狙いです。
ハンズオン
それでは早速始めたいと思います。ここからはローカル環境が構築されていることを前提に進めていきます。
モジュールの作成
まず、テキストエディタ(メモ帳でもOK)を開いてcalculation.pyというファイルを作成します。内容は次のとおりです。
# 足し算プログラム def tasizan(a,b): return a+b # 引き算プログラム def hikizan(a,b): return a-b
ファイルの拡張子は「.py」になります。メモ帳で保存する場合はファイルの種類と文字コードを次のようにしてください。
このファイルがpythonでいうモジュールです。(以降はモジュールファイルと呼ぶことにします。)ファイル名の拡張子部分(.py)をとったものがモジュール名と呼ばれます。なので、「calculation」というモジュールができたことになります。
モジュールの利用
モジュールが作成できたら、使ってみましょう。
モジュールファイルのあるフォルダをコマンドプロンプトで開き、pythonと入力してpythonを起動します。
C:\Users\editor>python Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
pythonが実行できる環境が起動しますので、次のように入力し、Enterキーを押します。
>>>import calculation
※>>>
は、キーボードで入力ができることを示すため、あらかじめ表示されています。
モジュールを読み込む構文はimport モジュール名
です。
Enterキーを押しても何も起きませんが、これでモジュールの読み込みが完了します。
では、モジュールの持つ関数を使用しましょう。
(入力)
>>>calculation.tasizan(5,3)
(実行結果)
8
足し算が行われていることがわかります。
続いて引き算です。
(入力)
>>>calculation.hikizan(5,3)
(実行結果)
2
こちらも正しく表示できています。
ですが、毎回calculation.~~
と記述するのは面倒です。そこで次の記述でimportをし直します。
(入力)
>>>import calculation as calc
import モジュール名 as 別名
と記述することで、別名を使ってモジュールを利用することができます。
実際にモジュールを使ってみましょう。
(入力)
>>>calc.tasizan(15,8)
(実行結果)
23
モジュールからモジュールを呼び出す
最後にモジュールからモジュールを呼び出す方法について確認したいと思います。
新規にpythonのファイルを作成しましょう。ファイル名はzukei.pyとします。内容は次のとおりです。
(プログラム)
import calculation as calc # 台形の面積を求める def daikei(jyotei,katei,takasa): return calc.tasizan(jyotei,katei)*takasa/2
作成したら保存します。calculation.pyと同じフォルダに保存してください。
(解説)
import calculation as calc
でcalculationモジュールを読み込んでいることがわかります。
次に台形の面積を求める関数daikeiを作成しています。
台形の面積=(上底+下底)*高さ÷2
ですので、calc.tasizan(jyotei,katei)*takasa/2
のように表現しています。
関数呼び出しのcalc.tasizan(jyotei,katei)
の部分がまず実行され、足し算が行われます。その結果に対して高さをかけ、2で割るという順番です。
では、モジュールができたので再度Python実行環境で確認してみましょう。
次のように入力してみてください。
(入力)
>>> import zukei as zu >>> zu.daikei(5,7,10)
(実行結果)
60.0
zukeiモジュールのもつ関数daikeiを使って、台形の計算がきちんとできていることがわかります。
おわりに
本日はここまでといたします。最後までご覧いただきありがとうございました。Pythonモジュールを作ることにより、何度も使う機能をまとめておいて、いつでも使うことができるようになります。公式ドキュメントでは、ほかにも様々な使い方を提供しています。やや高度な内容も含まれますが、興味のある方はぜひご覧ください。
合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。