こんな悩みを解決します。
こんにちは、学生フリーランスエンジニアのいのうえ(@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で自作モジュールを作成する方法』でした。