PythonではModuleを使用することで、コードを再利用し、整理することができ、効率的なプログラム開発ができます。
ここでは、Pythonにおける「Module」について解説しています。
この記事の対象
Moduleとは
「Module」とは複数のfileにプログラムを分ける機能です。スクリプトが書かれた1つのfileを1つのModuleとして扱います。
Pythonには標準Moduleが備わっており、乱数の生成、日付の取得、数学的な計算などの便利なものが多くあります。公式サイトにLibraryとしてまとめてあります。
Moduleの型
#Moduleの型
import module名
スクリプトの冒頭に「import」と記述して、その後ろにmodule名を記述することで利用できます。また、moduleにおける特定の要素だけを利用したい場合は、以下のように記述します。
#特定要素の取込み
from module名 import 要素名1,要素名2...
自作Modleの作成
例えば、Pythonファイル(拡張子.py)としてmy_module.pyという名前のモジュールを作成してその中に変数や関数を定義してみます。後述で、このModuleを他のPythonスクリプトで使用してみる前提としています。
# my_module.py
# 変数
module_variable = "I made a module variable"
# 関数
def module_function():
print("I am a module function")
Moduleの使用(読込み)
import my_module
# モジュールの変数や関数を使用
print(my_module.module_variable)
my_module.module_function()
上記は、別のPythonファイル(例: main.py)からモジュールを使用するプログラムになります。
結果
"I am a module variable"
"I am a module function"
「as」でModule名を任意の名前に変更
import文では「as」を用いるとModule名を任意の名前に変更できます。
#asを用いた名前変更
import random as ram
「random」を「ram」と変更しました。よって、使用するときは「ram.***()」となります。
Moduleを用いた使用例
#Moduleを用いた使用例
import random
result = random.getrandbits(5)
print(result)
上記のプログラムは「random」をimportして疑似乱数を生成するものです。「random.getrandbits(k)」はk桁の乱数ビットで Python の整数を生成し、返すModuleです。上記は5桁にしています。
組み込み関数
importをしなくても使用できる標準的な機能として「組み込み関数」というものがあります。これは「print()」「range()」「sum()」「str()」などがあります。これは直接記述することで使用できます。
組み込み関数一覧
abs() | delattr() | hash() | memoryview() | set() |
all() | dict() | help() | min() | setattr() |
any() | dir() | hex() | next() | slice() |
ascii() | divmod() | id() | object() | sorted() |
bin() | enumerate() | input() | oct() | staticmethod() |
bool() | eval() | int() | open() | str() |
breakpoint() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | _import_() |
complex() | hasattr() | max() | round() |
組込み関数を用いた使用例
項目 | 内容 |
os.path.getsizeを用いたデータサイズの取得 | os.pathモジュールを用いると任意のデータのサイズを取得することが可能です。ここでは画像のサイズを取得する方法を用いて解説しています。 |
glob()を用いたフォルダ内のファイル名の取得方法 | glob()関数を用いることで、任意のファイル名を一覧で取得することが可能です。ここではフォルダ内にあるcsvファイルを取得する方法について解説しています。 |
os.renameを用いたファイル名変更 | ファイル名を変更したい場合、os.renameを用いることで可能です。ここでは、os.renameを用いた指定したファイル名を変更する方法について解説しています。 |
【初学者向け】random関数を用いた疑似サイコロの作成 | リンク先ではPythonの勉強を始めたばかりの初期に取り組むことが多い、疑似サイコロの作成方法について解説しています。 |
複数のファイルを移動させてフォルダを整理するプログラム | リンク先ではPythonにおいて、複数のファイルを任意のフォルダに移動させるプログラムについて解説しています。 |
フォルダ内にある複数のzipファイルを解凍する方法 | リンク先ではPythonにおけるzipfileを用いて複数のzipファイルを解凍する方法について解説しています。 |