1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

Pythonを使うなら知っておくべき!便利なライブラリ13選

python-ライブラリ
Pocket

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

標準ライブラリ編

datetime

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

shutil

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

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

collections

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

pdb

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

timeit

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

NumPy

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

NumPyの使い方の詳細

matplotlib

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

matplotlibの使い方の詳細

scipy

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

scipyの使い方の詳細

外部ライブラリ編

tqdm

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

py2exe

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

simplejson

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

requests

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

pep8

ソースコードのチェックツールです。PythonにはPEP8というスタイルガイドがあり、これが一般的なコーディング規約となります。pep8を使うと、自分のコードはどこが違反しているかを知らせてくれます。

【おすすめ記事】

オススメのPython学習サイトはこちら
Pythonを学びたい方は必見!おすすめスクールまとめ5選
Python チュートリアル(公式)の口コミ・評判
【Python入門】Pythonにおけるclassの使い方とは?

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る