Pythonの標準モジュールには、日々の開発やデータ操作で便利に使えるものが多数あります。
以下は特に便利で使用頻度の高いモジュールをいくつか紹介します。
os
- 用途
ファイルやディレクトリ操作、環境変数へのアクセスなど。 - 特徴
os
モジュールは、クロスプラットフォームでのファイル操作やプロセス管理に便利です。
ファイル・ディレクトリの作成、移動、削除や環境変数の取得に使われます。
サンプルコード
import os
os.listdir('.') # 現在のディレクトリのファイル一覧を取得
sys
- 用途
Pythonのインタプリタとやり取りするためのモジュール。 - 特徴
コマンドライン引数の取得、Pythonのバージョン情報、標準入出力のリダイレクトなどに使えます。特にスクリプトの引数処理で便利です。
import sys
print(sys.argv) # コマンドライン引数を表示
datetime
- 用途
日付や時刻の操作。 - 特徴
日時の計算やフォーマット変換が簡単に行えます。
日付の差分や、特定のフォーマットでの日付の出力などに活用されます。
from datetime import datetime
now = datetime.now()
print(now.strftime('%Y-%m-%d %H:%M:%S')) # 日時をフォーマットして出力
math
- 用途
数学的な計算。 - 特徴
平方根や三角関数、対数、定数(πやeなど)といった数学的な関数や定数を提供します。
import math
print(math.sqrt(16)) # 16の平方根を計算
json
- 用途
JSONデータの読み書き。 - 特徴
JSON形式でデータの入出力が必要なときに便利です。
データを辞書形式で扱えるため、APIや設定ファイルの読み込みによく使われます。
import json
data = {"name": "Alice", "age": 25}
json_str = json.dumps(data) # 辞書をJSON文字列に変換
print(json_str)
re
- 用途
正規表現での文字列処理。 - 特徴
文字列の検索・置換、パターンマッチングを効率よく行えます。
データクレンジングやバリデーションによく使われます。
import re
text = "My phone number is 123-456-7890."
match = re.search(r'\d{3}-\d{3}-\d{4}', text)
print(match.group()) # 正規表現でパターンを抽出
collections
- 用途
リストや辞書の拡張データ構造。 - 特徴
Counter
(要素のカウント)、deque
(高速なキュー操作)、defaultdict
(デフォルト値付き辞書)など、標準のデータ構造に追加の機能を提供します。
from collections import Counter
data = ['apple', 'banana', 'apple', 'orange']
count = Counter(data) # 要素の出現回数をカウント
print(count)
itertools
- 用途
イテレーションのためのツール。 - 特徴
効率的なループ処理を提供し、特に大規模データの組み合わせ、並べ替え、グループ分けに便利です。
import itertools
for combo in itertools.combinations(['A', 'B', 'C'], 2):
print(combo) # 2つの要素の組み合わせを生成
もう少し詳しい使い方はこちら。
functools
- 用途
関数を扱うためのツール。 - 特徴
特にlru_cache
によるキャッシュ、partial
による関数の引数部分適用などで便利です。
パフォーマンス最適化や関数の柔軟な設定が可能です。
from functools import lru_cache
@lru_cache
def factorial(n):
return n * factorial(n - 1) if n > 1 else 1
logging
- 用途
ログの出力。 - 特徴
標準出力に出すだけでなく、ファイルに記録したり、ログレベルを分けて管理するのに便利です。特に、エラーハンドリングや動作確認に役立ちます。
import logging
logging.basicConfig(level=logging.INFO)
logging.info('This is an info message')
もう少し詳しい使い方はこちら。
おわりに
これらの標準モジュールを活用することで、多様なタスクを効率的に行えるようになります。どれもインストール不要で、Pythonインタプリタがあればすぐに使えるので、ぜひ試してみてください。