PR

Pythonで自作モジュールを作成する方法を解説【初心者向け】

アイキャッチ画像
この記事で解決できる悩み
  • Pythonで自作モジュールを作成するには?
  • 自作モジュールをインポートして、実行するには?
  • 自作モジュールを直接実行するには?

こんな悩みを解決します。

いのうえ
いのうえ

こんにちは、学生フリーランスエンジニアのいのうえ(@inouelog)です!

モジュールとは、関数などの定義が書かれたスクリプトファイルです。

この記事では、自作モジュールを作成して実行するまでの方法を解説します。

自作モジュールを作成する

例えば

def hello_world():
    print('Hello, World!')

というモジュールを作成します。このモジュールをインタラクティブシェルでインポートして、実行してみます。

モジュールのあるディレクトリに移動して実行します。

>>> import hello
>>> hello.hello_world()
Hello, World!

import モジュール名
モジュール名.関数名()

とすることで、モジュールの関数を実行できます。

次に、別のモジュールでインポートして実行してみます。

import hello
hello.hello_world()

というモジュールを作成して、コマンドラインで実行してみます。

response.pyは、hello.pyと同じディレクトリに保存します。

% python response.py
Hello, World!

また、次のように書くことで、特定の関数だけインポートできます。

from hello import hello_world
hello_world()

モジュール名を別名に設定してインポートすることもできます。

import hello as world
world.hello_world()

自作モジュールを直接実行する

次のようにhello.pyを書き換えます。

def hello_world():
    print('Hello, World!')

def hello_name():
    print(__name__)

if __name__ == '__main__':
    hello_world()

_name_」とは、特殊なグローバル変数です。

  • インポートして実行するとき → モジュール名
  • 直接実行するとき → _main_

上記のとおりです。
インタラクティブシェルでモジュールをインポートして、実行してみます。

>>> import hello
>>> hello.hello_name()
hello

確かに、モジュール名の「hello」が表示されました。

次に、コマンドラインで直接実行してみます。

% python hello.py
Hello, World!

if文がtrue(つまり、name == ‘main’)なので、「Hello, World!」と表示されました。

Pythonで自作モジュールを作成する方法 まとめ

Pythonで開発するときにコード量が多くなると、自作モジュールを作成して読み込み、実行するのはよく行うので覚えておきましょう。

以上、『Pythonで自作モジュールを作成する方法』でした。