Python モジュール 使い方や、よく使われる一覧を紹介!

Python モジュール 使い方や、よく使われる一覧を紹介

今回は、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正規表現操作
readlineGNU readline のインターフェイス
rlcompleterGNU readline 向けの補完関数
string一般的な文字列操作
stringprep文字列調整
textwrapテキストの折り返しと詰め込み
unicodedataUnicode のデータベース

データ型モジュール

モジュール名役割
array効率の良い数値アレイ
bisect配列二分法アルゴリズム
calendar一般的なカレンダーに関する関数群
collectionsコンテナデータ型
collections.abcコレクションの抽象基底クラス
copy浅いコピーと深いコピーの操作
datetime基本的な日付型と時間型
enum列挙型のサポート
heapqヒープキューアルゴリズム
types動的な型生成と組み込み型に対する名前
pprintデータ出力の整然化
reprlibもう一つの repr() の実装
weakref弱参照

データ圧縮とアーカイブ

モジュール名役割
bz2bzip2 圧縮のサポート
gzipgzip ファイルのサポート
lzmaLZMA アルゴリズムを使用した圧縮
tarfiletar アーカイブファイルの読み書き
zlibgzip 互換の圧縮
zipfileZIP アーカイブの処理

関数型プログラミング用モジュール

モジュール名役割
functools高階関数と呼び出し可能なオブジェクトの操作
itertools効率的なループ実行のためのイテレータ生成関連
operator関数形式の標準演算子

バイナリデータ処理モジュール

モジュール名役割
codecscodecレジストリと基底クラス
structバイト列をパックされたバイナリデータとして解釈

暗号関連のサービス

モジュール名役割
hashlibセキュアハッシュおよびメッセージダイジェスト
hmacメッセージ認証のための鍵付きハッシュ化
secrets機密を扱うために安全な乱数を生成する

ファイルフォーマット

モジュール名役割
configparser設定ファイルのパーサー
csvCSVファイルの読み書き
netrcnetrcファイルの処理
plistlibMac OS X .plist ファイルの生成と解析
xdrlibXDRデータのエンコードとデコード

ファイルとディレクトリへのアクセス

モジュール名役割
filecmpファイルやディレクトリの比較
fileinput複数の入力ストリームを跨いだ行の繰り返し処理のサポート
fnmatchUnixファイル名のパターンマッチ
globUnix形式のパス名のパターン展開
pathlibオブジェクト指向のファイルシステムパス
linecacheテキストラインにランダムアクセスする
macpathMac OS 9 のパス操作関数
os.path共通のパス名操作
shutil高水準のファイル操作
statstat() の結果の解釈
tempfile一時ファイルやディレクトリの作成

インターネット上のデータ操作

モジュール名役割
base64 Base16, Base32, Base64, Base85データの符号化
binasciiバイナリデータとASCIIデータとの間での変換
binhexbinhex4形式ファイルのエンコードおよびデコード
email電子メールとMIME処理のためのパッケージ
jsonJSONエンコーダおよびデコーダ
mailbox様々な形式のメールボックス操作
mailcapファイルの操作
mimetypesファイル名をMIME型へマップする
quopriMIMEquoted-printable形式データのエンコードおよびデコード
uuuuencode形式のエンコードとデコード

プロセス間通信とネットワーク

モジュール名役割
asyncio非同期I/O、イベントループ、コルーチンおよびタスク
asyncore非同期ソケットハンドラ
asynchat非同期ソケットコマンド/レスポンスハンドラ
selectI/O 処理の完了を待機する
selectors高水準のI/O多重化
signal非同期イベントにハンドラを設定する
socket低水準ネットワークインターフェイス
sslソケットオブジェクトに対する TLS/SSL ラッパー
mmapメモリマップファイル

構造化マークアップツール

モジュール名役割
htmlHyperText Markup Language のサポート
html.entitiesHTML 一般実体の定義
html.parserHTMおよびXHTMLのシンプルなパーサー
xml.dom文書オブジェクトモデル(DOM)API
xml.dom.minidom最小のDOMの実装
xml.dom.pulldom部分的なDOMツリー構築のサポート
xml.etree.ElementTreeElementTree XML API
xml.parsers.expatExpat を使った高速なXML解析
xml.saxSAX2 パーサのサポート
xml.sax.handlerSAX ハンドラの基底クラス
xml.sax.saxutilsSAX ーティリティ
xml.sax.xmlreaderXML パーサのインターフェイス

データの永続化

モジュール名役割
copyregpickle サポート関数の登録
dbmUnix データベースへのインターフェイス
marshal内部使用者向けのPythonオブジェクト整列化
picklePythonオブジェクトの直列化
shelvePythonオブジェクトの永続化
sqlite3SQLiteデータベースに対するDB-API 2.0 インターフェイス
xml.etree.ElementTreeElementTree XML API

並行実行

モジュール名役割
concurrentパッケージ
concurrent.futures並列タスク実行
dummy_threadingthreadingの代替モジュール
multiprocessingプロセスベースの並列処理
queue同期キュークラス
subprocessサブプロセス管理
schedイベントスケジューラー
threadingスレッドベースの並列処理
_dummy_threadthreadの代替モジュール
_therad低水準のスレッドAPI

汎用オペレーティングシステムサービス

モジュール名役割
argparseコマンドラインオプション、引数、サブコマンドのパーサー
ctypesPythonのための外部関数ライブラリ
curses文字セル表示を扱うための端末操作
curses.asciiASCII文字に関するユーティリティ
curses.panelcursesのためのパネルスタック拡張
curses.textpaadcursesプログラムのためのテキスト入力ウィジェット
errno標準のerrnoシステムシンボル
getoptC言語スタイルのコマンドラインオプションパーサー
getpass可搬性のあるパスワード入力機構
ioストリームを扱うコアツール
logging.configロギングの環境設定
logging.handlersロギングハンドラ
loggingPython用、ロギング機能
os雑多なオペレーティングシステムインターフェイス
platform実行中プラットフォームの固有情報を参照する
time時刻データへのアクセスと変換

国際化

モジュール名役割
gettext多言語対応に関する国際化サービス
locale国際化サービス

マルチメディアサービス

モジュール名役割
aifcAIFFおよびAIFCファイルの読み書き
audioop生の音声データを操作する
chunkIFFチャンクデータの読み込み
colorsys色体系間の変換
imghdr画像の形式を決定する
ossaudiodevOSS互換オーディオデバイスへのアクセス
sndhdrサウンドファイルの識別
sunauSun AUファイルの読み書き
waveWAVファイルの読み書き

ソフトウェア・パッケージと配布

モジュール名役割
distutilsPythonモジュールの構築とインストール
ensurepippipインストーラーのブートストラップ
venv仮想環境の作成
zipapp 実行可能なPython zip書庫を管理する

インターネットプロトコルとサポート

ュール名役割
cgiCGI(ゲートウェイインターフェイス規格)のサポート
cgitbCGIスクリプトのトレースバック管理機構
ftplibFTPプロトコルクライアント
httpHTTPモジュール群
http.clientHTTPプロトコルクライアント
http.cookiejarHTTPクライアント用のCookie処理
http.serverHTTPサーバー
imaplibIMAP4プロトコルクライアント
ipaddressIPv4 / IPv6操作ライブラリ
nntplibNNTPプロトコルクライアント
poplibPOP3プロトコルクライアント
smtplibSMTPプロトコルクライアント
smtpdSMTPサーバー
socketserverネットワークサーバのフレームワーク
telnetlibTelnetクライアント
urllibURLを扱うモジュール群
urllib.errorurllib.questが投げかける例外
urllib.parseURLを解析して構成要素にする
urllib.requestURLを開くための拡張可能なライブラリ
urllib.responseurllibで使用するレスポンスクラス
urllib.robotparserrobots.txtのためのパーサー
uuidRFC4122に準拠したUUIDオブジェクト
webbrowser便利なウェブブラウザコントローラー
wsgirefWSGIユーティリティとリファレンス実装
xmlrpcXMLRPCサーバとクライアントモジュール
xmlrpc.clientXML-RPCクライアントアクセス
xmlrpc.server基本的なXML–RPCサーバー

Tkを用いたグラフィカルユーザーインターフェイス

モジュール名役割
tkinterTcl/TkのPythonインターフェイス
tkinter.scrolledtextスクロールするテキストウィジェット
tkinter.ttkTkのテーマ付きウィジェット
tkinter.tixTkの拡張ウィジェット

プログラムのフレームワーク

モジュール名役割
cmd行指向のコマンドインタープリタのサポート
shlex単純な字句解析
turtleタートルグラフィックス

カスタムPythonインタプリタ

モジュール名役割
codeインタプリタ基底クラス
codeopPythonコードをコンパイルする

開発ツール

モジュール名役割
2to3Python2からPython3への自動コード変換
doctest対話的な実行例をテストする
pydocドキュメント生成とオンラインヘルプシステム
testPython用回帰テストパッケージ
test.supportテストのためのユーティリティ関数
typing型ヒントのサポート
unittestユニットテストフレームワーク
unittest.mockモックオブジェクトライブラリ

デバッグとプロファイル

モジュール名役割
bdbデバッガーフレームワーク
faulthandlerPython tracebackのダンプ
pdbPythonデバッガ
timeit小さなコード断片の実行時間計測
tracePython文実行のトレースと追跡
tracemallocメモリ割り当ての追跡

Python言語サービス

モジュール名役割
ast抽象構文木
compileallPythonライブラリをバイトコンパイル
disPythonバイトコードの逆アセンブラ
keywordPythonキーワードチェック
parserPython解析木にアクセスする
pickletoolspickle開発者のためのツール群
pyclbrPythonクラスブラウザサポート
py_compilePythonソースファイルのコンパイル
symtableコンパイラの記号表へのアクセス
symbolPython解析木とともに使われる定数
tokenPython解析木とともに使われる定数
tokenizePythonソースのためのトークナイザ
tabnannyあいまいなインデントの検出

Python ランタイムサービス

モジュール名役割
abc抽象基底クラス
atexit終了ハンドラ
builtins組み込みオブジェクト
contextlibwith文コンテキスト用ユーティリティ
fpectl浮動小数点例外の制御
gcガベージコレクタインターフェイス
inspect活動中のオブジェクトの情報を取得する
siteサイト固有の設定フック
sysシステムパラメータと関数
sysconfigPythonの構成情報にアクセスする
tracebackスタックトレースの表示または取得
warnings警告の制御
__future__future文の定義
__main__トップレベルのスクリプト環境

モジュールのインポート

モジュール名役割
importlibimportの実装
modulefinderスクリプト中で使われているモジュールを検索する
pkgutilパッケージ拡張ユーティリティ
runpyPythonモジュールの位置特定と実行
zipimportZipアーカイブからモジュールを import する

Unix 固有のサービス

モジュール名役割
cryptUnixパスワードをチェックするための関数
fcntlfcntlおよびioctlシステムコール
grpグループデータベースへのアクセス
nisSunのNIS(Yellow Pages)へのインターフェイス
pipesシェルパイプラインへのインターフェイス
posix最も一般的なPOSIXシステムコール群
pty擬似端末ユーティリティ
pwdパスワードデータベースへのアクセスを提供する
resouceリソース使用状態の情報
spwdシャドウパスワードデータベース
syslogUnix syslog ライブラリルーチン群
termiosPOSIXスタイルの端末制御
tty端末制御のための関数群

MS Windows固有のサービス

モジュール名役割
msilibMicrosoftインストーラーファイルの読み書き
msvcrtMS VC++実行時システムの有用なルーチン群
winregWindowsレジストリへのアクセス
winsoundWindows用の音声再生インターフェイス

その他モジュール群

モジュール名役割
formatter汎用の出力書式化機構
impimport内部へのアクセス
optparseコマンドラインオプション解析器

親身になってキャリアアップの提案をしています。
エンジニアとして理想の転職を実現してみませんか!

IT転職エージェント@PRO人

IT職種・業界に完全特化。キャリア相談品質に自信があります!
業界専門の転職支援サービス

↓↓詳細をご覧になるには画像をクリックしてください↓↓


よかったらシェアしてください!
目次