※こちらの記事は、プロスタ編集部が現在大変人気の高い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を使うと、自分のコードはどこが違反しているかを知らせてくれます。