LoginSignup
81
120

More than 5 years have passed since last update.

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

Posted at

※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。

参考サイト:Pythonを使うなら知っておくべき!便利なライブラリ10選

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

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)

外部ライブラリ編

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を使うと、自分のコードはどこが違反しているかを知らせてくれます。

81
120
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
81
120