モジュールとは
モジュールとは、Pythonコードがまとめられたファイルです。既存のコードを再利用したり、機能を整理したりするのに使います。
インポートの方法
import モジュール名
python
import mathmath.sqrt(2) # 1.4142135623730951math.pi # 3.141592653589793from … import …
特定の機能だけをインポートします。モジュール名のプレフィックスが不要になります。
python
from math import sqrt, pisqrt(2) # 1.4142135623730951pi # 3.141592653589793import … as …(エイリアス)
モジュールや関数に別名をつけます。
python
import numpy as np # よく使われる慣習import pandas as pdfrom datetime import datetime as dtnp.array([1, 2, 3])pd.DataFrame({"a": [1, 2, 3]})注意:
from math import *のようにワイルドカードインポートは名前空間が汚染されるため推奨されません。
よく使う標準ライブラリ
math モジュール
python
import mathmath.sqrt(16) # 4.0(平方根)math.floor(3.7) # 3(切り捨て)math.ceil(3.2) # 4(切り上げ)math.log(math.e) # 1.0(自然対数)math.log10(100) # 2.0(常用対数)math.log2(8) # 3.0math.sin(math.pi/6) # 0.5(sin 30°)math.cos(0) # 1.0math.factorial(5) # 120(5!)math.gcd(12, 8) # 4(最大公約数)random モジュール
python
import randomrandom.random() # 0.0以上1.0未満の乱数random.randint(1, 6) # 1〜6のランダムな整数(サイコロ)random.choice(["A", "B", "C"]) # リストからランダムに1つ選ぶlst = [1, 2, 3, 4, 5]random.shuffle(lst) # リストをランダムに並び替え(破壊的)random.sample(lst, 3) # 3つをランダムに選ぶ(非破壊的)# 再現性のために乱数シードを設定random.seed(42)random.random() # 常に同じ値datetime モジュール
python
from datetime import datetime, date, timedelta# 現在の日時now = datetime.now()print(now) # 2024-01-15 10:30:00.123456# 日付の作成d = date(2024, 1, 15)print(d) # 2024-01-15# 日時の差delta = timedelta(days=7)next_week = d + deltaprint(next_week) # 2024-01-22# フォーマットprint(now.strftime("%Y年%m月%d日")) # 2024年01月15日print(now.strftime("%H:%M:%S")) # 10:30:00collections モジュール
python
from collections import Counter, defaultdict, deque# Counter: 要素の出現回数を数えるwords = ["apple", "banana", "apple", "cherry", "banana", "apple"]c = Counter(words)c # Counter({"apple": 3, "banana": 2, "cherry": 1})c.most_common(2) # [("apple", 3), ("banana", 2)]# defaultdict: キーが存在しない場合のデフォルト値を指定dd = defaultdict(list)dd["fruits"].append("apple") # KeyErrorにならないdd["fruits"] # ["apple"]# deque: 両端キュー(先頭と末尾への追加・削除がO(1))dq = deque([1, 2, 3])dq.appendleft(0) # [0, 1, 2, 3]dq.append(4) # [0, 1, 2, 3, 4]dq.popleft() # 0 を取り出すjson モジュール
python
import json# Pythonオブジェクト → JSON文字列data = {"name": "太郎", "age": 25, "scores": [85, 92, 78]}json_str = json.dumps(data, ensure_ascii=False, indent=2)print(json_str)# JSON文字列 → Pythonオブジェクトparsed = json.loads(json_str)print(parsed["name"]) # 太郎# ファイルへの読み書きwith open("data.json", "w", encoding="utf-8") as f: json.dump(data, f, ensure_ascii=False, indent=2)with open("data.json", "r", encoding="utf-8") as f: loaded = json.load(f)練習: 統計計算
math を使わずに、リストの平均値・分散・標準偏差を計算する関数を定義してください。