第1章:環境構築とプログラミングの第一歩
- 1-1. Pythonの概要と開発体験
- なぜPythonが選ばれるのか(可読性、豊富なライブラリ、エコシステム)
- Python 2とPython 3の違い、および最新バージョン動向の把握
- 1-2. ローカル開発環境の構築(Windows / Mac)
- 公式インストーラーを使用したPythonの導入とPath(環境変数)の設定
- コマンドライン(Terminal / PowerShell)の基本コマンド操作
- パッケージ管理ツール
pipの使い方とrequirements.txtによる環境の固定 - 仮想環境(
venv)の役割と作成・有効化(activate)・無効化(deactivate)の完全理解
- 1-3. 開発エディタ VS Code の完全セットアップ
- VS Codeのインストールと日本語化
- 必須拡張機能(Python, Pylance, Jupyter, AutoDocstring)の導入
- 自動フォーマット(
black/ruff)と静的解析(flake8)のリアルタイム連携設定 - デバッガ(Breakpoint, Step In/Out, Variable Watch)を活用したバグ追跡手法
第2章:Python基礎文法完全マスター
- 2-1. 変数・動的型付けと基本データ型
- 変数宣言、識別子の命名規則(PEP 8)
- 数値型(
int,float,complex)、算術演算子と代入演算子 - 文字列型(
str)のエスケープシーケンス、スライス、f-string(文字列フォーマット) - ブール型(
bool)と比較演算子・論理演算子(and,or,not)
- 2-2. 複合データ構造(コレクション)の真価と操作
- リスト(
list): 要素の追加・削除・ソート、ミュータブルの性質 - タプル(
tuple): イミュータブルの利点とアンパック代入 - 辞書(
dict): キー・バリュー操作、.get()メソッド、辞書の結合 - 集合(
set): 重複除去、和集合・積集合・差集合演算 - 内包表記(リスト内包表記、辞書内包表記、ジェネレータ式)の書き方と速度比較
- リスト(
- 2-3. 制御構造と条件分岐・ループ処理
if/elif/else条件分岐と三項演算子forループとrange(),enumerate(),zip()関数の活用whileループ、無限ループの回避、break,continue,else節の挙動- Python 3.10+ の構造的パターンマッチング(
match/case)の導入
- 2-4. 関数定義・モジュール化・範囲(スコープ)
- 関数の定義(
def)、戻り値(return)、デフォルト引数設定の罠 - 位置引数、キーワード引数、可変長引数(
*args,**kwargs)の全パターン - 無名関数(
lambda式)と高階関数(map,filter,sorted) - スコープ(ローカル、グローバル、ノンローカル
nonlocal)とglobalキーワード - モジュールとパッケージの作成、
import,from ... importの正しい記述法
- 関数の定義(
- 2-5. エラーハンドリング・例外処理とファイル操作
try–except–else–finallyブロックの正しい組み立て- 組み込み例外(
ValueError,TypeError,KeyError等)と自作例外(カスタム例外クラス) raiseによる例外の送出とスタックトレースの読み解きwith構文(コンテキストマネージャ)を使用した安全なファイル読み書き(Text / CSV / JSON)
- 2-6. オブジェクト指向プログラミング(OOP)徹底理解
- クラス(
class)とインスタンスの概念、__init__初期化メソッドとselfの意味 - インスタンス変数 vs クラス変数
- メソッドの種類: インスタンスメソッド、クラスメソッド(
@classmethod)、静的メソッド(@staticmethod) - 継承(単一継承・多重継承)、
super()関数の役割、メソッドオーバーライド - カプセル化: メンバのプライベート化(
_/__)と@propertyによるゲッター/セッター - 特殊メソッド(
__str__,__repr__,__len__,__eq__等)による挙動のカスタマイズ
- クラス(
第3章:資格試験対策講座(Python3 エンジニア認定各種対応)
- 3-1. PythonZen & PEP 8 徹底解説
- 「The Zen of Python(
import this)」19の設計理念の解釈 - 公式スタイルガイド「PEP 8」の全要点(インデント、命名規則、行長、空行、インポート順序)
- 「The Zen of Python(
- 3-2. Python 3 エンジニア認定基礎試験 対策
- オフィシャル教材『Pythonチュートリアル』の章別重点チェック
- コマンドライン引数(
sys.argv)や対話型モードの出題パターン - 引っかけ問題対策(ミュータブルオブジェクトの初期値引数、浅いコピー/深いコピー
copy.deepcopyなど) - 模擬問題100問の解説と弱点克服
- 3-3. Python 3 エンジニア認定実践試験 対策
- 高度な標準ライブラリ(
itertools,functools,collections,pathlib,dataclasses) - 型ヒント(
typingモジュール、Union,Optional,Callable)と型チェック - デコレータの自作(関数をラップする仕組み)とジェネレータ(
yield)の仕組み - 並行処理・並列処理の基礎(
threading,multiprocessing,asyncio)
- 高度な標準ライブラリ(
- 3-4. Python 3 エンジニア認定データ分析試験 対策
- データ分析に必要な数学の基礎(行列の基礎、平均/分散/標準偏差、正規化)
- NumPy: 多次元配列(
ndarray)の生成、ブロードキャスト機能、スライス・ファンシーインデックス - pandas:
SeriesとDataFrameの操作、欠損値処理(dropna,fillna)、結合(merge,concat)、groupby集計 - Matplotlib / Seaborn: 散布図、折れ線グラフ、ヒストグラム、箱ひげ図の描画ルール
- scikit-learn: 前処理(
StandardScaler)、学習モデルの評価(精度、適合率、再現率、F値)
第4章:実践Webシステム開発 & API構築
- 4-1. Webテクノロジーの基礎知識
- HTTPプロトコルの仕組み(リクエスト/レスポンス、ステータスコード、HTTPヘッダー)
- REST APIの設計原則(URI設計、HTTPメソッド GET/POST/PUT/DELETE の使い分け)
- 4-2. Flaskによる軽量Webアプリケーション開発
- ルーティング設定、動的URLパラメータの取得
- Jinja2テンプレートエンジンによる動的HTMLレンダリング(フォーム処理、ループ表示)
- フラッシュメッセージとセッション(
session)による状態保持
- 4-3. FastAPIによるモダンWeb API開発
- FastAPIの特徴(非同期
async/await対応、高速動作、自動Swagger UIドキュメント生成) - Pydanticを使ったリクエストバリデーション(型定義と入力チェック)
- レスポンスモデルの定義とステータスコードの設定
- FastAPIの特徴(非同期
- 4-4. データベース設計とORM(SQLAlchemy / Peewee)
- Relational Database (RDB) の基礎(テーブル設計、主キー、外部キー、正規化)
- SQL文の基本(
SELECT,INSERT,UPDATE,DELETE,JOIN) - SQLAlchemyを用いたORM構築(モデルクラスの定義、マイグレーション、CRUD操作)
- 4-5. ユーザー認証・認可とWebセキュリティ対策
- ユーザー登録、パスワードハッシュ化(
bcrypt/argon2) - JWT(JSON Web Token)を用いたステートレスな認証機構の実装
- Webセキュリティの脆弱性対策(SQLインジェクション、XSS、CSRF、CORS設定)
- ユーザー登録、パスワードハッシュ化(
第5章:実践開発(スクレイピング・データ分析・生成AI活用)
- 5-1. Webスクレイピングと業務自動化(RPA)
requests+BeautifulSoup4を使った静的HTMLの解析とデータ抽出Playwright/Seleniumを使った動的サイトの自動操作・ログイン処理・ファイルダウンロード- 定期実行(
cron/schedule)によるデータ自動収集パイプラインの構築 - スクレイピングの法規とマナー(著作権法、
robots.txt、アクセス間隔の徹底)
- 5-2. データ分析・ダッシュボード作成の実務
- 散らかったデータのクレンジング・前処理テクニック
pandasを使ったタイムシリーズ(時系列データ)の処理と集計Streamlit/Dashを使ったデータ可視化Webダッシュボードの高速構築
- 5-3. 生成AI(LLM)API連携アプリケーション開発
- OpenAI API / Anthropic Claude API / Google Gemini API のPython SDK利用法
- プロンプトエンジニアリングのコード化(System Prompt, User Promptの動的生成)
- RAG(検索拡張生成)の基礎: テキスト分割、ベクトルDB(
Chroma/FAISS)連携、類似度検索
第6章:エンジニア実務・チーム開発・指導管理
- 6-1. 実務レベルのコード品質とアーキテクチャ設計
- SOLID原則に基づいた拡張性の高いコード設計
- デザインパターン(Factory, Singleton, Strategy, Observerなど)の実践
- ディレクトリ構造・レイヤードアーキテクチャ(Presentation / Domain / Infrastructure)の分離
- 6-2. 自動テストと品質保証(QA)
pytestフレームワークによるテストコードの記述(フィクスチャ@pytest.fixtureの活用)- 外部依存(API、DB)を分離するモック(
unittest.mock,pytest-mock)の使い方 - テストカバレッジ(
pytest-cov)の測定と80%以上を維持する運用方法
- 6-3. Git / GitHub によるチーム開発手法
- ブランチ戦略(GitHub Flow / Git Flow)の適切な運用
- コンフリクト(競合)の発生原因と安全な解消手順
- GitHub Actions を用いた CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインの作成
- 6-4. テックリードとしての指導管理・コードレビュー
- コードレビューの実務(心理的安全性を保つコメント設計、
Nit:/Must:の使い分け) - Sphinx / MkDocs を活用したPythonドキュメント自動生成と管理
- プロジェクトの技術選定基準、タスクの細分化(WBS)と見積もり手法
- コードレビューの実務(心理的安全性を保つコメント設計、
第7章(付録1:Appendix 1):実務で使える実践開発事例集(ハンズオン)
概要: 第2章〜第6章で学んだ知識を統合し、実務や個人開発でそのまま即戦力として機能する6つの実践プロダクトをゼロから構築します。
- 7-1. 【基礎文法応用】CLI版 業務タスク&経費管理ロガー
- 対応章: 第2章
- 概要: 日々の作業時間と経費をターミナルから高速入力し、JSON/CSVに永続化するCLIツール。
- 技術要素: クラス設計(
TaskManager,ExpenseTracker)、例外処理、ファイル操作。
- 7-2. 【資格・標準ライブラリ応用】CBT風 擬似Web模試&弱点分析エンジン
- 対応章: 第3章
- 概要: エンジニア認定試験の出題傾向や標準ライブラリの処理を体験できる学習ツール。
- 技術要素:
dataclasses,typing(型ヒント),itertools, 単体テスト。
- 7-3. 【Web・API開発】マルチテナント型 予約管理・チケット発行REST API
- 対応章: 第4章
- 概要: FastAPI+SQLAlchemy+JWT認証を用いた実務クオリティのバックエンドAPI。
- 技術要素: 権限管理、重複防止トランザクション、暗号化トークン、Swagger UI。
- 7-4. 【自動化】競合ECサイト価格自動リサーチ&Discord通知Bot
- 対応章: 第5章
- 概要: ECサイトの商品価格や在庫状況をパトロールし、セール開始等を通知するWebスクレイピングツール。
- 技術要素:
Playwright,BeautifulSoup4, Webhook連携, 定期タスク(cron)。
- 7-5. 【生成AI活用】社内ナレッジ検索・AI回答RAGダッシュボード
- 対応章: 第5章
- 概要: PDFやMarkdownなどのマニュアルをAIが検索・要約し、根拠付きで回答するWebアプリ。
- 技術要素:
Streamlit, OpenAI/Gemini SDK, ベクトルDB(Chroma)。
- 7-6. 【実務・CI/CD】Micro-SaaS型 コード自動レビュー&品質チェッカー
- 対応章: 第6章
- 概要: SOLID原則・レイヤードアーキテクチャに基づいた静的解析&AIレビュー基盤。
- 技術要素: GitHub Actions,
pytest,flake8, LLM APIによるコードレビュー自動投稿。
第8章(付録2:Appendix 2):お名前.com サーバーでの環境構築 & 本番運用
概要: 本編および付録1で構築したWebアプリや自動化ツールを、お名前.comのレンタルサーバー(共有サーバー)環境で公開・運用する手順を解説します。
- 8-1. お名前.com サーバーの仕様把握と事前準備
- サーバーのスペック・制限事項(root権限なし、実行時間制限等)の理解
- SSH接続の有効化、鍵ペア生成、ターミナルからの接続設定(
~/.ssh/config)
- 8-2. サーバー上でのPython環境構築
- サーバー内Pythonバージョンの確認と
venv仮想環境の構築 - 必要な外部ライブラリ(
pip)のローカルビルドとインポート制限の回避方法
- サーバー内Pythonバージョンの確認と
- 8-3. Webアプリケーションのサーバー公開(CGI / Passenger運用)
.htaccessを用いたリダイレクト設定とPythonスクリプト実行設定- Flask / FastAPI アプリをCGI/WSGI経由で動作させるエントリポイント(
index.cgi)作成 - 500エラーのパーミッション確認(
chmod 755)とエラーログ(error_log)の確認手順
- 8-4. データベース設定とSSL本番運用
- コントロールパネルでの MySQL(MariaDB)データベース作成
- Pythonコードからの MySQL 接続設定(
PyMySQL/mysqlclient) - 無料独自SSL(Let’s Encrypt)適用と
python-lab.netでの完全HTTPS化・Cron定期実行の運用