モジュールとパッケージを理解するために一連の手順に沿って学んでいける記事です。
この記事は
- パッケージの作り方、インポートの仕方、注意事項
- モジュールの作成方法、インポートの仕方、呼び出し方法
- メソッドの作成方法、メソッドの呼び出し方法
について理解することができます。
初心者が初心者向けに書いていますので、専門用語等が少ない記事です。笑
パッケージの作成方法
任意のパッケージ(フォルダ)を作成する。
この記事ではtest_packageというパッケージを作ります。
パッケージの中に__init__.pyというファイルを作成する。
このファイルはパッケージを使用する際に一番最初に呼ばれるファイルです。
このファイルは中身を書く書かない関係なく作成します。
このファイルが存在しないフォルダはpythonのパッケージとは認識されません。
パッケージの中に任意のpythonファイルを作成します。
この記事ではarea.pyというファイルを作成しました。
area.pyは三角形、四角形の面積を返すパッケージです(わざわざパッケージにする意味・・・笑)
area.pyの中身はこんな感じです。
def triangle_area(bottom, height):
return bottom * height / 2
def squad_area(width, height):
return width * height
このパッケージの中にあるpythonファイルのことをモジュールといいます。
パッケージと同じ階層に任意のpythonファイルを作成します。
この記事ではtest.pyというファイルを作成しました。
このpythonファイルがパッケージを呼び出すプログラムを記述していくファイルです。
パッケージの呼び出し方
test.pyでパッケージをインポートしていきます。
インポートの仕方は複数あります。
そもそもインポートって何?って方のために簡単な言葉で説明します。
インポートとはパッケージをほかのファイルに書かれているプログラムを使用するときに使うものです。
ほかのファイルを使用するためにする手続き的なことをこれから説明していきます。
importのみを使用する
import test_package.area
area = test_package.area.triangle_area(10,5)
print(area)
#出力結果:25.0
この記述方法は呼び出すときはすべての記述を書かないといけません。
大体は省略した形で記述できるように下記のように記述します。
importとasの合わせ技
import test_package.area as area
area = area.triangle_area(10,5)
print(area)
#出力結果:25.0
fromとimportの合わせ技
fromでパッケージを指定し、importでインポートしたいファイルを選ぶ方法です。
from test_package import area
area = area.squad_area(10,5)
print(area)
fromとimportとasの超合わせ技
formでパッケージを指定し、importでインポートしたいファイルを選んで、しかも略称を付ける技です。(それが普通とかいわないで)
ただ、記述量の多いプログラムを書くと、asを使用しすぎると、どのパッケージのメソッドかわからなくなったりするらしいので、気を付けた方がいいですね。
from test_package import area as a
area = a.squad_area(10,5)
print(area)
まとめ
パッケージの作り方自体はとても簡単な印象ですね。
たくさんの記述が必要な処理や、何回も使いまわす独自のメソッドなどをパッケージ化しておくとコード量を減らすことができ、修正や、追加も容易にできると思います。
パッケージを呼び出す方法に関してはPythonで絶対に必要となることなので、誰もが見たことや記述したことがあると思います。最初はこういう風に書けばエラーが出ないなど、おまじないみたいな感じですが、少し理解できるようになってくるとちゃんとした理由を知りたくなると思います。
そのため、一応作成と呼び出しについて記述しました。
もっと具体的な内容はまた調べて投稿していこうと思います。
コメント