はぴまるのおすすめキーボード Keychron K3 Max

初心者のためのPython基本講座:【第17回】モジュール化して実行する方法

当ページのリンクには広告が含まれている場合があります。

「モジュール化って何?」「コードをファイルまとめて実行する方法を教えてほしい!」という疑問や悩みを持っていませんか?

そんな悩みや疑問を解消できるように、この記事ではPythonのモジュール化について解説しています。

「初心者のためのPython基本講座」とは

この講座は、これからPythonを学ぼうとする初心者の方がPythonの基本を学ぶための講座です。

Pythonの代表的な構文の使い方を具体的なコードを例にして解説しています。

この記事は、以下のような方におすすめ!
Pythonのモジュール化について知りたい方
Pythonの基本を学びたい方

Pythonコードをまとめてモジュール化して扱えるようになると、

ぐっとPythonプログラムに幅を持たせることができるようになります。

この記事を読めば、Pythonのモジュール実行を知り、よりプログラムっぽい扱いができるようになります!

Pythonの基本をマスターして、Pythonプログラマーとしての一歩を踏み出しましょう!

目次

前回の振り返り

前回の記事では、Pythonの辞書について解説しました。

前回までで、Pythonでの数値や文字列や、データ構造について理解を深めることができたと思います。

Pythonの辞書について確認できていない方は、

こちらの記事もチェックするとより理解が深まりますよ!

今回のゴール

では、改めて今回のゴールを確認しましょう。

今回のゴールは、Pythonの関数をまとめた拡張子.pyのモジュールファイルとしての扱いについて確認し、実際に動作を確認することです。

実際にご自身でも手を動かして動作を確認することで、より早くPythonを身につけることができますよ!

Pythonモジュール

Pythonコードをモジュール化して、実際にどのように実行するのかを確認していきましょう!

モジュールファイルを作成する

では、まず動作確認用のファイルを準備します。

モジュールファイルは、プロジェクト配下のファイルに記述しておきます。

やり方を忘れてしまった方は、こちらの記事で解説しているので参考にしてください。

例としてプロジェクト配下に、sample.pyを作成します。

# sample module
# create number sequence

def Simple(max):
    for num in range(0, max):
        print(num, end=' ')
    print()


def Double(max):
    for num in range(0, max):
        print(num * 2 , end=' ')
    print()

モジュールを利用する

先ほど定義したモジュール内にある関数を呼び出してみましょう。

モジュールの呼び出しはPythonコンソールで確認できますので、以下のコマンドを打ってみてください。

モジュールの読込はimportコマンドで実現できます。

import sample

sample.Simple(20)
sample.Double(20)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 

モジュール名を参照する

__name__でモジュール名を取得できます。

sample.__name__
'sample'

読み込んだモジュールの関数を変数に代入する

以前確認したように、モジュールから読み込んだ関数でも、変数に代入して利用することができます。

func = sample.Simple
func(10)
0 1 2 3 4 5 6 7 8 9 

モジュール内の特定の関数だけ読み込む

モジュール内の関数を読み込んでいるのであって、モジュール自体を読み込んでいるわけではない点に注意に気をつけてください。

モジュール名を指定しても名前を解決できずエラーになります。

from sample import Simple, Double

Simple(10)
0 1 2 3 4 5 6 7 8 9 

以下のように*を使ってすべての関数をインポートすることもできます。

from sample import *

Simple(10)
0 1 2 3 4 5 6 7 8 9 

でも、明示的に読み込むことで、不具合の発生を避けることができるので、* を使用することはお勧めできません。

Pythonモジュールをスクリプトとして実行する

Pythonモジュールをコマンドラインなどから実行することができます。

以下のようにpythonコマンドで、実行したいモジュール名と渡す引数を指定します。

python sample.py 20

ですが、これでは何も起きないはずです。

なぜなら、モジュール内には関数定義のみがあり、スクリプトとして呼び出された際の挙動が定義されていないからです。

そこで、以下のコードをsample.pyの最後に記述しましょう。

# sample module
# create number sequence

def Simple(max):
    for num in range(0, max):
        print(num, end=' ')
    print()


def Double(max):
    for num in range(0, max):
        print(num * 2, end=' ')
    print()

if __name__ == "__main__":
    import sys
    Simple(int(sys.argv[1]))

この状態で、先ほどと同様のコマンドを実行すると、以下の結果を得られます。

python sample.py 20
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

まとめ

今回の記事では、Pythonのモジュール実行ついて解説しました。

今回のポイントをまとめると、次のとおりです。

まとめ
  • Pythonをモジュールとして実行するために.py拡張子のファイルにまとめる必要がある
  • Pythonモジュールはモジュール全体だけでなく関数のみ呼び出すことができる

Pythonのモジュール実行を知り、Pythonプログラムの全体的な動作を理解できたのではないでしょうか。

Pythonをモジュール実行できるようになれば、さまざまなPythonモジュールを呼び出して扱えるようになります。

ぜひこの記事を参考にして、Pythonのモジュール実行をマスターしてください!

以上、最後までお読みいただきありがとうございました。

未経験からのITエンジニア転職に挑戦したい方へ

転職も含めて真剣にプログラミングスキルを手に入れたいとお考えの方に、おすすめの方法をご紹介します。

結論から言うと、それは転職活動とスキル学習を同時に進める方法です!

同時に進める理由は、転職成功までの時間を短縮するためなんですが、

でも昼間は学校や本業もあるのに、転職活動と学習を同時にって無理!

って思いますよね?

そんな忙しい方には、スキル学習と転職サポートが一体となているがオススメ!

しかも、学習サポートも転職サポートも無料で利用できます!

ウズカレITはITスクールのを運営する企業uzuzのサービスだから

体系的かつ総合的に学習サポートを受けることができます。

ITエンジニアはまだまだ売り手市場で、未経験可の求人もたくさんあります。

一度、ウズカレITの無料相談で不安に思ってることなどを相談してみるのがオススメです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次