DESIGNMAP

  1. TOP
  2. 公開講座
  3. ゼロから始めるPython入門
  4. モジュール ー ゼロから始めるPython入門【Vol.14】

モジュール ー ゼロから始めるPython入門【Vol.14】

モジュールはプログラムを分割する仕組みです。具体的には関数をモジュールとして別ファイルに切り出すことができます。

モジュールのコードは以前「whileによる繰り返し処理 ー ゼロから始めるPython入門【Vol.8】」で書いています。

import random

random_num = random.randint(1, 5)

というコードを書きました。randomというモジュールを読み込んで、randomモジュールのrandint()関数を利用しています。Pythonは組み込み関数以外の関数はこのようにモジュールを使って呼び出します。

randomは標準モジュールのひとつで、あらかじめ用意されているモジュールです。標準モジュールについては
http://docs.python.jp/3/py-modindex.html
で仕様を調べることが可能です。

randomのところをみると多くの関数が定義されていることがわかります。
http://docs.python.jp/3/library/random.html#module-random

今回は簡単なモジュールをつくって仕組みを理解していきます。

まずモジュールをつくります。
Atomを起動します。[ファイル]メニュー→[新規ファイル]をクリックします。[ファイル]メニュー→[保存]をクリックします。以下のコードを書いて、Vo.3でつくった「python-study」フォルダ内に、「tax.py」というファイル名で保存します。

def con_tax(price, tax_rate):
    return price + int(price * (tax_rate/100))

今度はモジュールを利用する側をつくります。新規ファイルをつくり「module1.py」という名前で「python-study」フォルダ内に保存します。

以下のコードを記述して保存します。

import tax

price = tax.con_tax(100, 8)
print(price)

実行すると

108

が表示されます。import taxでモジュールのファイル名を指定します。拡張子は省略できます。
利用する側は「モジュール名.関数」で使うことができます。

モジュールの読み込み方のバリエーションをご紹介します。

モジュールの特定の関数を読み込む

上記の書き方ですと、モジュールに10の関数がある場合、すべてを読み込むことになります。特定の関数だけを読み込む方法があります。

from tax import con_tax

price = con_tax(100, 8)
print(price)

と書くと、taxモジュールのcon_tax()関数だけを読み込みます。
関数名だけで呼び出すことができます。
from tax import *と書くとすべての関数を読み込みます。

asを使って別名を指定する

asを使うとモジュール名に別名をつけることができます。

import tax as t

price = t.con_tax(100, 8)
print(price)

関数名を別名で呼び出すことも可能です。

from tax import con_tax as con

price = con(100, 8)
print(price)

複数のモジュールを読み込む方法

下記のような書式です。
import モジュール名, モジュール名
from モジュール名 import 関数名, 関数名, 関数名
asも下記のように使用できます。
import モジュール名 as a, モジュール名 as b
from モジュール名 import 関数名 as a, 関数名 as b, 関数名 as c

フォルダが違うモジュールを読み込む時

今回つくったサンプルはtax.pyとmodule1.pyが同じフォルダにありました。例えば、「tax.py」が「modules」フォルダにあり、「module1.py」と「modules」フォルダが同じフォルダにある場合は、

import module.tax

と「フォルダ名.モジュール名」で読み込むことができます。

スポンサーリンク

関連記事

プロフィール

DESIGNMAP
ディレクター・Web制作者
ON VISITINGを制作・運営。
お問い合わせ