今回は、Pythonのモジュールについて解説し、よく使うものの一覧を紹介していきます。
目次
モジュールとは
Pythonのモジュールは、一つ一つのパーツ(部品)のことで、パーツを組み合わせ、パーツ毎にファイルを分けて、一つずつ組み合わせて作り上げていきます。
その機能ごとに分割されたファイルをモジュールといいます。
モジュールを使用することで、パーツ毎にファイルを作っていくことになるため、エラーが発生しても、どこでエラーが起きているのかが容易に分かり、
原因箇所の解明が遥かに迅速になるというメリットがあります。
機能別モジュール
Pythonでは機能別にファイルが分けられており、それぞれモジュールを用意しています。
Pythonの標準でインストールされている組み込み関数以外の関数を使うためには、先にモジュールを読み込んでおく必要があります。
標準ライブラリにあるモジュールを、Pythonに読み込ませる(importを使います。)ことで、より多くの関数を使えるようになり、プログラミングでできることが飛躍的に増えます。
モジュールをインポートする
まず、モジュールをインポートする方法は 4 つあります。
- モジュール全体をインポートする
- モジュール全体を別名をつけてインポートする
- モジュールから特定の関数だけをインポートする
- モジュールから特定の関数だけを別名をつけてインポートする
モジュール全体をインポートする
基本的なインポート方法になります。
モジュールのインポートの書き方
import モジュール名, モジュール名
importと書いてから、読み込みたいモジュール名を書きます。
2つのモジュールをインポートするには、カンマで区切って書きます。
インポートしたモジュールの関数を使うには、関数名の前にモジュール名を書いて、ドットで区切って書きます。
インポートしたモジュール内の関数を使う時の書き方
モジュール名.関数名()
モジュール全体を別名をつけてインポートする
自分で新たにモジュールを作ったときに、既に存在するモジュール名と被った場合に使用します。
インポートするモジュールに別名をつける場合の書き方
import モジュール名 as 別名
モジュールから特定の関数だけをインポートする
モジュールの全体からではなく、特定の関数だけをインポートすることができます。
関数を使う時に、先頭にモジュール名をつける必要はありません。
モジュールから特定の関数だけをインポートする書き方
from モジュール名 import 関数名
モジュールから特定の関数だけを別名をつけてインポートする
特定の関数だけをインポートするときも、その関数に別名をつけることができます。
自作した関数と、インポートしたい関数の名前が被っている場合に使用します。
インポートした関数の名前を被った場合の書き方
from モジュール名 import 関数名 as 別名
様々なモジュールの一覧紹介
Pythonで用意されている様々なモジュールの一覧を紹介します。
全てのモジュールを覚える必要はありません。
プログラミングを行っていく過程で必要な関数等が出てきた際に、調べてみて使えるようになることが一番よいでしょう。
詳しくは、Python公式サイトの「Python 標準ライブラリ」を見て確認しておくのもよいと思います。
モジュール一覧
数値と数学モジュール
モジュール名 | 役割 |
---|
cmath | 複素数の数学関数 |
decimal | 十進数と浮動小数点数の算術関数 |
fractions | 有理数 |
math | 数学関数 |
numbers | 数の抽象基底のクラス |
random | 擬似乱数の生成 |
statistics | 数理統計の関数 |
テキスト処理モジュール
モジュール名 | 役割 |
---|
difflib | 差分の計算の補助 |
re | 正規表現操作 |
readline | GNU readline のインターフェイス |
rlcompleter | GNU readline 向けの補完関数 |
string | 一般的な文字列操作 |
stringprep | 文字列調整 |
textwrap | テキストの折り返しと詰め込み |
unicodedata | Unicode のデータベース |
データ型モジュール
モジュール名 | 役割 |
---|
array | 効率の良い数値アレイ |
bisect | 配列二分法アルゴリズム |
calendar | 一般的なカレンダーに関する関数群 |
collections | コンテナデータ型 |
collections.abc | コレクションの抽象基底クラス |
copy | 浅いコピーと深いコピーの操作 |
datetime | 基本的な日付型と時間型 |
enum | 列挙型のサポート |
heapq | ヒープキューアルゴリズム |
types | 動的な型生成と組み込み型に対する名前 |
pprint | データ出力の整然化 |
reprlib | もう一つの repr() の実装 |
weakref | 弱参照 |
データ圧縮とアーカイブ
モジュール名 | 役割 |
---|
bz2 | bzip2 圧縮のサポート |
gzip | gzip ファイルのサポート |
lzma | LZMA アルゴリズムを使用した圧縮 |
tarfile | tar アーカイブファイルの読み書き |
zlib | gzip 互換の圧縮 |
zipfile | ZIP アーカイブの処理 |
関数型プログラミング用モジュール
モジュール名 | 役割 |
---|
functools | 高階関数と呼び出し可能なオブジェクトの操作 |
itertools | 効率的なループ実行のためのイテレータ生成関連 |
operator | 関数形式の標準演算子 |
バイナリデータ処理モジュール
モジュール名 | 役割 |
---|
codecs | codecレジストリと基底クラス |
struct | バイト列をパックされたバイナリデータとして解釈 |
暗号関連のサービス
モジュール名 | 役割 |
---|
hashlib | セキュアハッシュおよびメッセージダイジェスト |
hmac | メッセージ認証のための鍵付きハッシュ化 |
secrets | 機密を扱うために安全な乱数を生成する |
ファイルフォーマット
モジュール名 | 役割 |
---|
configparser | 設定ファイルのパーサー |
csv | CSVファイルの読み書き |
netrc | netrcファイルの処理 |
plistlib | Mac OS X .plist ファイルの生成と解析 |
xdrlib | XDRデータのエンコードとデコード |
ファイルとディレクトリへのアクセス
モジュール名 | 役割 |
---|
filecmp | ファイルやディレクトリの比較 |
fileinput | 複数の入力ストリームを跨いだ行の繰り返し処理のサポート |
fnmatch | Unixファイル名のパターンマッチ |
glob | Unix形式のパス名のパターン展開 |
pathlib | オブジェクト指向のファイルシステムパス |
linecache | テキストラインにランダムアクセスする |
macpath | Mac OS 9 のパス操作関数 |
os.path | 共通のパス名操作 |
shutil | 高水準のファイル操作 |
stat | stat() の結果の解釈 |
tempfile | 一時ファイルやディレクトリの作成 |
インターネット上のデータ操作
モジュール名 | 役割 |
---|
base64 Base16, Base32, Base64, Base85 | データの符号化 |
binascii | バイナリデータとASCIIデータとの間での変換 |
binhex | binhex4形式ファイルのエンコードおよびデコード |
email | 電子メールとMIME処理のためのパッケージ |
json | JSONエンコーダおよびデコーダ |
mailbox | 様々な形式のメールボックス操作 |
mailcap | ファイルの操作 |
mimetypes | ファイル名をMIME型へマップする |
quopri | MIMEquoted-printable形式データのエンコードおよびデコード |
uu | uuencode形式のエンコードとデコード |
プロセス間通信とネットワーク
モジュール名 | 役割 |
---|
asyncio | 非同期I/O、イベントループ、コルーチンおよびタスク |
asyncore | 非同期ソケットハンドラ |
asynchat | 非同期ソケットコマンド/レスポンスハンドラ |
select | I/O 処理の完了を待機する |
selectors | 高水準のI/O多重化 |
signal | 非同期イベントにハンドラを設定する |
socket | 低水準ネットワークインターフェイス |
ssl | ソケットオブジェクトに対する TLS/SSL ラッパー |
mmap | メモリマップファイル |
構造化マークアップツール
モジュール名 | 役割 |
---|
html | HyperText Markup Language のサポート |
html.entities | HTML 一般実体の定義 |
html.parser | HTMおよびXHTMLのシンプルなパーサー |
xml.dom | 文書オブジェクトモデル(DOM)API |
xml.dom.minidom | 最小のDOMの実装 |
xml.dom.pulldom | 部分的なDOMツリー構築のサポート |
xml.etree.ElementTree | ElementTree XML API |
xml.parsers.expat | Expat を使った高速なXML解析 |
xml.sax | SAX2 パーサのサポート |
xml.sax.handler | SAX ハンドラの基底クラス |
xml.sax.saxutils | SAX ーティリティ |
xml.sax.xmlreader | XML パーサのインターフェイス |
データの永続化
モジュール名 | 役割 |
---|
copyreg | pickle サポート関数の登録 |
dbm | Unix データベースへのインターフェイス |
marshal | 内部使用者向けのPythonオブジェクト整列化 |
pickle | Pythonオブジェクトの直列化 |
shelve | Pythonオブジェクトの永続化 |
sqlite3 | SQLiteデータベースに対するDB-API 2.0 インターフェイス |
xml.etree.ElementTree | ElementTree XML API |
並行実行
モジュール名 | 役割 |
---|
concurrent | パッケージ |
concurrent.futures | 並列タスク実行 |
dummy_threading | threadingの代替モジュール |
multiprocessing | プロセスベースの並列処理 |
queue | 同期キュークラス |
subprocess | サブプロセス管理 |
sched | イベントスケジューラー |
threading | スレッドベースの並列処理 |
_dummy_thread | threadの代替モジュール |
_therad | 低水準のスレッドAPI |
汎用オペレーティングシステムサービス
モジュール名 | 役割 |
---|
argparse | コマンドラインオプション、引数、サブコマンドのパーサー |
ctypes | Pythonのための外部関数ライブラリ |
curses | 文字セル表示を扱うための端末操作 |
curses.ascii | ASCII文字に関するユーティリティ |
curses.panel | cursesのためのパネルスタック拡張 |
curses.textpaad | cursesプログラムのためのテキスト入力ウィジェット |
errno | 標準のerrnoシステムシンボル |
getopt | C言語スタイルのコマンドラインオプションパーサー |
getpass | 可搬性のあるパスワード入力機構 |
io | ストリームを扱うコアツール |
logging.config | ロギングの環境設定 |
logging.handlers | ロギングハンドラ |
logging | Python用、ロギング機能 |
os | 雑多なオペレーティングシステムインターフェイス |
platform | 実行中プラットフォームの固有情報を参照する |
time | 時刻データへのアクセスと変換 |
国際化
モジュール名 | 役割 |
---|
gettext | 多言語対応に関する国際化サービス |
locale | 国際化サービス |
マルチメディアサービス
モジュール名 | 役割 |
---|
aifc | AIFFおよびAIFCファイルの読み書き |
audioop | 生の音声データを操作する |
chunk | IFFチャンクデータの読み込み |
colorsys | 色体系間の変換 |
imghdr | 画像の形式を決定する |
ossaudiodev | OSS互換オーディオデバイスへのアクセス |
sndhdr | サウンドファイルの識別 |
sunau | Sun AUファイルの読み書き |
wave | WAVファイルの読み書き |
ソフトウェア・パッケージと配布
モジュール名 | 役割 |
---|
distutils | Pythonモジュールの構築とインストール |
ensurepip | pipインストーラーのブートストラップ |
venv | 仮想環境の作成 |
zipapp | 実行可能なPython zip書庫を管理する |
インターネットプロトコルとサポート
ュール名 | 役割 |
---|
cgi | CGI(ゲートウェイインターフェイス規格)のサポート |
cgitb | CGIスクリプトのトレースバック管理機構 |
ftplib | FTPプロトコルクライアント |
http | HTTPモジュール群 |
http.client | HTTPプロトコルクライアント |
http.cookiejar | HTTPクライアント用のCookie処理 |
http.server | HTTPサーバー |
imaplib | IMAP4プロトコルクライアント |
ipaddress | IPv4 / IPv6操作ライブラリ |
nntplib | NNTPプロトコルクライアント |
poplib | POP3プロトコルクライアント |
smtplib | SMTPプロトコルクライアント |
smtpd | SMTPサーバー |
socketserver | ネットワークサーバのフレームワーク |
telnetlib | Telnetクライアント |
urllib | URLを扱うモジュール群 |
urllib.error | urllib.questが投げかける例外 |
urllib.parse | URLを解析して構成要素にする |
urllib.request | URLを開くための拡張可能なライブラリ |
urllib.response | urllibで使用するレスポンスクラス |
urllib.robotparser | robots.txtのためのパーサー |
uuid | RFC4122に準拠したUUIDオブジェクト |
webbrowser | 便利なウェブブラウザコントローラー |
wsgiref | WSGIユーティリティとリファレンス実装 |
xmlrpc | XMLRPCサーバとクライアントモジュール |
xmlrpc.client | XML-RPCクライアントアクセス |
xmlrpc.server | 基本的なXML–RPCサーバー |
Tkを用いたグラフィカルユーザーインターフェイス
モジュール名 | 役割 |
---|
tkinter | Tcl/TkのPythonインターフェイス |
tkinter.scrolledtext | スクロールするテキストウィジェット |
tkinter.ttk | Tkのテーマ付きウィジェット |
tkinter.tix | Tkの拡張ウィジェット |
プログラムのフレームワーク
モジュール名 | 役割 |
---|
cmd | 行指向のコマンドインタープリタのサポート |
shlex | 単純な字句解析 |
turtle | タートルグラフィックス |
カスタムPythonインタプリタ
モジュール名 | 役割 |
---|
code | インタプリタ基底クラス |
codeop | Pythonコードをコンパイルする |
開発ツール
モジュール名 | 役割 |
---|
2to3 | Python2からPython3への自動コード変換 |
doctest | 対話的な実行例をテストする |
pydoc | ドキュメント生成とオンラインヘルプシステム |
test | Python用回帰テストパッケージ |
test.support | テストのためのユーティリティ関数 |
typing | 型ヒントのサポート |
unittest | ユニットテストフレームワーク |
unittest.mock | モックオブジェクトライブラリ |
デバッグとプロファイル
モジュール名 | 役割 |
---|
bdb | デバッガーフレームワーク |
faulthandler | Python tracebackのダンプ |
pdb | Pythonデバッガ |
timeit | 小さなコード断片の実行時間計測 |
trace | Python文実行のトレースと追跡 |
tracemalloc | メモリ割り当ての追跡 |
Python言語サービス
モジュール名 | 役割 |
---|
ast | 抽象構文木 |
compileall | Pythonライブラリをバイトコンパイル |
dis | Pythonバイトコードの逆アセンブラ |
keyword | Pythonキーワードチェック |
parser | Python解析木にアクセスする |
pickletools | pickle開発者のためのツール群 |
pyclbr | Pythonクラスブラウザサポート |
py_compile | Pythonソースファイルのコンパイル |
symtable | コンパイラの記号表へのアクセス |
symbol | Python解析木とともに使われる定数 |
token | Python解析木とともに使われる定数 |
tokenize | Pythonソースのためのトークナイザ |
tabnanny | あいまいなインデントの検出 |
Python ランタイムサービス
モジュール名 | 役割 |
---|
abc | 抽象基底クラス |
atexit | 終了ハンドラ |
builtins | 組み込みオブジェクト |
contextlib | with文コンテキスト用ユーティリティ |
fpectl | 浮動小数点例外の制御 |
gc | ガベージコレクタインターフェイス |
inspect | 活動中のオブジェクトの情報を取得する |
site | サイト固有の設定フック |
sys | システムパラメータと関数 |
sysconfig | Pythonの構成情報にアクセスする |
traceback | スタックトレースの表示または取得 |
warnings | 警告の制御 |
__future__ | future文の定義 |
__main__ | トップレベルのスクリプト環境 |
モジュールのインポート
モジュール名 | 役割 |
---|
importlib | importの実装 |
modulefinder | スクリプト中で使われているモジュールを検索する |
pkgutil | パッケージ拡張ユーティリティ |
runpy | Pythonモジュールの位置特定と実行 |
zipimport | Zipアーカイブからモジュールを import する |
Unix 固有のサービス
モジュール名 | 役割 |
---|
crypt | Unixパスワードをチェックするための関数 |
fcntl | fcntlおよびioctlシステムコール |
grp | グループデータベースへのアクセス |
nis | SunのNIS(Yellow Pages)へのインターフェイス |
pipes | シェルパイプラインへのインターフェイス |
posix | 最も一般的なPOSIXシステムコール群 |
pty | 擬似端末ユーティリティ |
pwd | パスワードデータベースへのアクセスを提供する |
resouce | リソース使用状態の情報 |
spwd | シャドウパスワードデータベース |
syslog | Unix syslog ライブラリルーチン群 |
termios | POSIXスタイルの端末制御 |
tty | 端末制御のための関数群 |
MS Windows固有のサービス
モジュール名 | 役割 |
---|
msilib | Microsoftインストーラーファイルの読み書き |
msvcrt | MS VC++実行時システムの有用なルーチン群 |
winreg | Windowsレジストリへのアクセス |
winsound | Windows用の音声再生インターフェイス |
その他モジュール群
モジュール名 | 役割 |
---|
formatter | 汎用の出力書式化機構 |
imp | import内部へのアクセス |
optparse | コマンドラインオプション解析器 |
親身になってキャリアアップの提案をしています。
エンジニアとして理想の転職を実現してみませんか!
IT転職エージェント@PRO人
IT職種・業界に完全特化。キャリア相談品質に自信があります!
業界専門の転職支援サービス
↓↓詳細をご覧になるには画像をクリックしてください↓↓