Contents
基本ライブラリ(標準ライブラリ)とは?
✅ Pythonの基本ライブラリ(標準ライブラリ)とは?
🔹 Pythonをインストールした時点で最初から使える公式ライブラリ集
別途インストール不要です。
🧠 イメージ
Python本体 = エンジン
標準ライブラリ = 工具箱
🔎 組み込み関数との違い
| 種類 | 例 | import必要? |
|---|---|---|
| 組み込み関数 | print(), len() |
❌ 不要 |
| 標準ライブラリ | math, os, datetime |
✅ 必要 |
🟢 よく使う標準ライブラリ
📐 数学系
math
import math
math.sqrt(16)
三角関数・平方根など
random
import random
random.randint(1, 10)
乱数生成
📁 ファイル・OS操作
os
import os
os.getcwd()
フォルダ操作など
pathlib
from pathlib import Path
Path("test.txt").exists()
パス操作(最近はこちらが主流)
📅 日付・時間
datetime
import datetime
datetime.datetime.now()
🌐 インターネット
urllib
Web通信
http.server
簡易Webサーバー
🧵 高度な処理
threading
並列処理
multiprocessing
マルチプロセス
🗜 データ変換
json
import json
JSON読み書き
🔍 正規表現
re
import re
文字列検索・パターンマッチ
🎯 標準ライブラリの規模
Pythonの標準ライブラリは非常に豊富で、「batteries included(電池同梱)」と呼ばれます。
つまり:最初からかなりのことができる
🟣 NumPyとの違い
numpy → 外部ライブラリ(別途インストール)
matplotlib → 外部
pandas → 外部
📌 まとめ
種類 例
組み込み print, len
標準ライブラリ math, os, datetime
外部ライブラリ numpy, pandas
特に重要なのは:
math
random
datetime
os
pathlib
json
re
もしよければ:
標準ライブラリ厳選20個解説
ここでは 「実際によく使う標準ライブラリ 厳選20個」 を、用途と一言解説つきで整理します。(※組み込み関数ではなく、import が必要なもの)
🟢 基本・日常でよく使う
1️⃣ math
高度な数学(sqrt, sin, log など)
2️⃣ random
乱数生成
3️⃣ datetime
日付・時刻処理
4️⃣ time
時間計測・待機処理
5️⃣ os
OS操作(フォルダ・環境変数)
🟢 ファイル・データ処理
6️⃣ pathlib
パス操作(今はこちらが主流)
7️⃣ csv
CSV読み書き
8️⃣ json
JSONデータ処理
9️⃣ pickle
Pythonオブジェクト保存
🔟 sqlite3
軽量データベース
🟢 文字列・検索
11️⃣ re
正規表現(高度な文字列検索)
12️⃣ string
文字列定数(ascii_lettersなど)
🟢 システム・実行制御
13️⃣ sys
Python実行環境の情報取得
14️⃣ argparse
コマンドライン引数処理
15️⃣ logging
ログ出力(printより実務向け)
🟢 データ構造・便利ツール
16️⃣ collections
便利なデータ構造(Counterなど)
17️⃣ itertools
高度な繰り返し処理
18️⃣ functools
関数拡張(デコレータなど)
🟢 並列処理
19️⃣ threading
スレッド処理
20️⃣ multiprocessing
マルチプロセス処理
特に重要なのは:
math
datetime
pathlib
csv
json
re
logging
collections
ここを理解すると一段上にいきます。
もしよければ次は:
📊 標準ライブラリだけで作る小さな実用プログラム
🧠 NumPyと標準ライブラリの住み分け
🔧 実務で本当に使うトップ10深掘り
どれに進みますか?
10-2 数学演算をあつかうmathモジュール
Pythonの標準ライブラリの中でも math モジュールは超重要です。
✅ math モジュールとは?
🔹 高度な数学関数をまとめた標準ライブラリ
※使うときは import が必要
import math
🟢 よく使う関数一覧
📐 ① 基本的な計算
math.sqrt(16) # 平方根 → 4.0
math.pow(2, 3) # 2^3 → 8.0
math.fabs(-5) # 絶対値 → 5.0
※ abs() は組み込み関数(math不要)
📊 ② 三角関数
math.sin(x)
math.cos(x)
math.tan(x)
⚠ 単位はラジアンです
度 ↔ ラジアン変換
math.radians(180) # 度 → ラジアン
math.degrees(math.pi) # ラジアン → 度
🔢 ③ 対数
math.log(10) # 自然対数 ln
math.log10(100) # 常用対数
math.exp(1) # e^1
📈 ④ 切り上げ・切り捨て
math.ceil(3.2) # → 4
math.floor(3.8) # → 3
math.trunc(3.9) # → 3
🔣 ⑤ 定数
math.pi # 円周率
math.e # 自然対数の底
math.tau # 2π
🧠 math と numpy の違い
math numpy
単一の数値向け 配列向け
速い ベクトル計算に強い
例:
math.sin(0.5) # OK
でも
math.sin([1,2,3]) # エラー
NumPyならOK:
import numpy as np
np.sin([1,2,3])
🎯 あなた向けポイント
AM・FFTを扱っているので:
math → 単純計算
numpy → 波形処理
という使い分けになります。
🔥 よく使う厳選10個
sqrt
sin
cos
tan
log
exp
pi
ceil
floor
radians
もしよければ:
三角関数をグラフで理解
mathで物理計算例
numpyとmathの速度比較
どれに進みますか?
10-3 モジュールと型
とても本質的な質問です 👍
ここを理解すると Python の構造がかなり整理されます。
✅ 結論(まず全体像)
用語 何か? 例
モジュール 機能のまとまり(ファイル) math, os, numpy
型(type) データの種類 int, str, list, float
🟢 ① モジュールとは?
🔹 Pythonファイル(.py)で作られた「機能の箱」
例:
import math
ここで math はモジュール。
中には:
math.sqrt()
math.sin()
math.pi
のような機能が入っています。
📦 イメージ
モジュール = 道具箱
関数やクラスが中に入っている
🔎 実際に確認
import math
type(math)
結果:
<class ‘module’>
つまり math は「module型」のオブジェクト。
🟢 ② 型(type)とは?
🔹 データの種類
例:
x = 10
type(x)
結果:
<class ‘int’>
よくある型
int # 整数
float # 小数
str # 文字列
list # リスト
tuple # タプル
dict # 辞書
bool # 真偽値
🧠 型は「設計図」
実は:
int
str
list
これらは クラス です。
つまり:型 = クラス
🎯 モジュールと型の違い
モジュール
ファイル単位
機能の集合
importが必要
例:
math
numpy
os
型
データの種類
クラスとして実装
変数がどんなデータかを決める
例:
int
str
list
range
🔥 つながり
モジュールの中には:
関数
クラス(=型)
定数
が入っています。
例:
import datetime
この中には:datetime.datetime ← これは型(クラス)があります。
🌱 まとめ図
Python
├─ 組み込み型(int, str, list)
├─ 組み込み関数(print, len)
└─ モジュール(math, os)
├─ 関数
├─ クラス(型)
└─ 定数
今のあなたの理解度なら、次は:
「型とクラスの違い」
「モジュールも実はオブジェクト」
「importの内部仕組み」
どこまで掘りますか?
10-4 データを保存する方法
いい質問ですね 👍
「データを保存する方法」は用途によって変わります。
目的別に整理します。
✅ ① テキストファイルに保存(いちばん基本)
🔹 文字列を書き込む
with open("data.txt", "w", encoding="utf-8") as f:
f.write("こんにちは\n")
モジュール
open() は組み込み関数(標準ライブラリ)
🔹 読み込み
with open("data.txt", "r", encoding="utf-8") as f:
text = f.read()
print(text)
✅ ② CSVで保存(表データ)
🔹 CSV保存
import csv
data = [["名前", "年齢"], ["太郎", 20]]
with open("data.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerows(data)
モジュール
csv
✅ ③ JSONで保存(辞書データ)
import json
data = {"name": "太郎", "age": 20}
with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f)
モジュール
json
✅ ④ Pythonオブジェクトをそのまま保存
import pickle
with open("data.pkl", "wb") as f:
pickle.dump(data, f)
モジュール
pickle
⚠ 他人から受け取ったpickleは危険(実行される可能性あり)
✅ ⑤ NumPyデータ保存(配列)
import numpy as np
arr = np.array([1,2,3])
np.save("data.npy", arr)
ライブラリ
NumPy
✅ ⑥ データベース保存(本格的)
import sqlite3
モジュール
sqlite3
小規模DBを扱える
🎯 どれを使うべき?
| 用途 | おすすめ |
|---|---|
| メモ保存 | txt |
| 表データ | csv |
| 設定ファイル | json |
| Python内部用 | pickle |
| 数値配列 | numpy |
| 本格保存 | sqlite |
🌱 今のあなたなら
AM・FFT・数値解析をしているので:
波形保存 → numpy.save
結果ログ → csv
設定値保存 → json
が実用的です。
もしよければ:
FFT結果をCSV保存する例
波形をファイルに保存して再読み込み
実務向けフォルダ構成例
どれに進みますか?
10-5 ファイルを読み込む方法
いいですね 👍
今度は「読み込み」ですね。用途別に整理します。
✅ ① テキストファイルを読む(基本)
with open("data.txt", "r", encoding="utf-8") as f:
text = f.read()
print(text)
1行ずつ読む場合
with open("data.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
✅ ② CSVファイルを読む
import csv
with open("data.csv", "r", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
print(row)
使用モジュール:
csv
✅ ③ JSONファイルを読む
import json
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data)
使用モジュール:
json
✅ ④ NumPy配列を読む
import numpy as np
arr = np.load("data.npy")
print(arr)
使用ライブラリ:
NumPy
✅ ⑤ SQLiteデータベースを読む
import sqlite3
conn = sqlite3.connect("data.db")
cursor = conn.cursor()
cursor.execute("SELECT * FROM table_name")
rows = cursor.fetchall()
print(rows)
conn.close()
使用モジュール:
sqlite3
🎯 どれを使う?
| データ形式 | 読み込み方法 |
|---|
| txt | open() |
| csv | csv |
| json | json |
| numpy配列 | np.load |
| DB | sqlite3 |
📌 実務で大事なこと
encodingを指定する(utf-8推奨)
with構文を使う(自動で閉じる)
ファイルパスに注意
🔍 パス指定例
from pathlib import Path
file = Path("data") / "data.txt"
with open(file, "r", encoding="utf-8") as f:
print(f.read())
使用モジュール:
pathlib
今のあなた(FFTや解析をしている)なら:
計算結果 → CSV保存 → 再読み込み
波形 → NumPy保存 → 再利用
が自然な流れです。
やってみますか?
「FFT結果を保存 → 読み込み → 再描画」まで一気にやりますか?
参考 JSONとは?
とても重要なテーマです 👍
今後プログラムを書くなら必ず出会います。
✅ JSONとは?
🔹 JavaScript Object Notation の略
🔹 データを「テキスト形式」で保存・通信するための形式
見た目はこんな感じです:
{
"name": "太郎",
"age": 20,
"student": true
}
🧠 特徴
人間が読みやすい
軽量
ほぼすべての言語で使える
Web通信で標準的に使われる
Pythonとの関係
Pythonでは標準ライブラリの jsonで扱います。
🔹 Python → JSON 保存
import json
data = {"name": "太郎", "age": 20}
with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f)
🔹 JSON → Python 読み込み
import json
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data["name"])
🔄 データ対応関係
| JSON | Python |
|---|---|
| object | dict |
| array | list |
| string | str |
| number | int / float |
| true/false | True / False |
| null | None |
何に使うの?
Web API通信
設定ファイル保存
データ交換
ログ保存
フロントエンドとの連携
CSVとの違い
| JSON | CSV |
|---|---|
| 階層構造OK | 表形式のみ |
| 辞書型向き | 表データ向き |
| Webで主流 | Excel向き |

コメント