Pythonにはたくさんの標準または外部ライブラリがありますが、その豊富さゆえにどのライブラリを活用すればいいのかわかりづらい面もあると思います。今回は、その中から知っておくと便利なPythonのライブラリをご紹介します。

標準ライブラリ編

datetime

日付や時刻を扱うモジュールです。日付・時刻の取得、文字列⇔日付の変換、n日後、n日前の日付データを取得する、等便利で簡単に扱えるものが揃っています。例えば、日付と時間をまとめて扱えるdatetimeオブジェクトを使えば、現在の日付と時刻を簡単に取得できます。

from datetime import datetime
now = datetime.now()
print(now)
# 2016-04-13 02:29:50.464488

shutil

高水準なファイル操作を提供するモジュールです。ファイルのコピーやディレクトリに対する操作を非常に簡単に書くことができます。

import shutil
shutil.copy("/src/src.txt", "/hoge/hoge.txt")

src.txtファイルをhoge.txtファイルににコピーします。

collections

deque(appendやpopを高速に行う)、OrderedDict(順序付き辞書)、defaultdict(デフォルト値のある辞書)、Counter(カウンター付き辞書)等があります。効率的なアルゴリズムの実装や、プログラミングコンテスト等ではお世話になります。

from collections import Counter
count = Counter('hogehoge')
print count
# Counter({'g': 2, 'e': 2, 'h': 2, 'o': 2})

pdb

ブレークポイントの設定やソース行レベルでのシングルステップ実行等の機能を提供するデバッガです。インタラクティブシェルでの実行や、.pyなどのスクリプトファイルとして実行することもできます。

timeit

Pythonプログラムの実行時間を計測するモジュールです。コード1つ1つに対して時間を計ることができるため、細かいパフォーマンスを計れます。

import timeit
timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)

NumPy

NumPyは科学技術計算などで配列や行列の演算を高速で行うために使われます。研究などで数学的な計算をしたいときに、非常に有効なライブラリとなっています。

import numpy
n_array = numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(n_array)

NumPyの使い方の詳細

matplotlib

matplotlibを使えばPythonでデータをグラフにプロットできるようになります。
グラフの表示にはmatplotlib.pyplotモジュールのplot()およびshow()を使用します。

from matplotlib import pyplot
pyplot.plot(x軸, y軸)
pyplot.show()

matplotlibの使い方の詳細

scipy

scipyではnumpyで行える配列や行列の演算を行うことができ、加えてさらに信号処理や統計といった計算ができるようになっています。

from scipy import integrate  #必ず必要
変数1, 変数2 = integrate.quad(関数, 積分区間の始まり, 積分区間の終わり)

scipyの使い方の詳細

外部ライブラリ編

tqdm

ループの進捗を確認したい時に、以下のような進捗バーを簡単に作成することができます。

41%||█████████            | 41/100 [00:04<00:05, 10.00it/s]

py2exe

PythonスクリプトをWindows用の.exeへ変換するライブラリです。Mac版の「py2app」や、汎用的な「PyInstaller」も有名です。

simplejson

JSONのエンコード・デコードライブラリです。標準ライブラリに「json」がありますが、それと同じように使用することができ、更に高速に動作するのが特徴です。

import simplejson

requests

使いやすいHTTPライブラリです。標準ライブラリに「urllib」がありますが、使い勝手が少々悪いものでした。requestsは非常に使いやすく、最近の書籍でもよく薦められています。

import requests
r = requests.get('URL')
print r.text

pep8

ソースコードのチェックツールです。PythonにはPEP8というスタイルガイドがあり、これが一般的なコーディング規約となります。pep8を使うと、自分のコードはどこが違反しているかを知らせてくれます。
【おすすめ記事】
オススメのPython学習サイトはこちら
Pythonを学びたい方は必見!おすすめスクールまとめ5選
Python チュートリアル(公式)の口コミ・評判
【Python入門】Pythonにおけるclassの使い方とは?