---
title: 【公開】Python研修_段階別つまずき対応ハンドブック
tags: 
author: [smile_yukiko_it](https://image.docswell.com/user/smile_yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/V7PKK61QJ8.jpg?width=480
description: 基礎教養レベルの学習支援
published: April 27, 26
canonical: https://image.docswell.com/s/smile_yukiko_it/ZL3GY7-2026-04-27-214358
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/V7PKK61QJ8.jpg)

Python研修 段階別つまずき対応ハンドブッ
ク
入門期と実装期で、ハマる場所もサポートの仕方も別物
対象 Python研修講師／サブ講師／新人OJT担当／メンター
環境構築 ／ 基礎文法 ／ 関数・データ構造 ／ 仮想環境 ／ OOP ／ 実装課題


# Page. 2

![Page Image](https://bcdn.docswell.com/page/4JQYY5WW7P.jpg)

01 / 10
講師の基本姿勢
介入レベルの4段階
一言でいうと 「すぐ答える」ではなく、段階的に介入する
Lv
介入度
講師の動き
1
最小
「エラーの最初の1行を声に出して読んでみて」
2
弱
「○○行目あたり見てみて」で範囲を絞る
3
中
一緒に画面を見て、質問形式で誘導
4
強
答えを示す + 必ず「なぜ」を本人に説明させる
TIMEBOX
研修1ヶ月目は 15〜20分自走 を目安に介入。「詰まる経験」と「詰まりっぱなし」は別物。20分超えたらLv.2〜3に切り替え。
Python研修 段階別つまずき対応ハンドブック


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LJ1YYKX5EG.jpg)

Stage 1 ─ 環境構築・Hello World
02 / 10
文法以前で詰まる ─ 8割が環境問題
一言でいうと 料理する前にコンロが点くか確認する段階
WHY
ここで30分悩ませても料理は上手くならない。「Python嫌い」を生まないため、Lv.3〜4の手厚さで早期解決し、文法学習に進ませ
る。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
python: command not found / &#039;python&#039;は内部コマンド〜
•
「python --version と python3 --version 両方試して」
•
PATHが通っていない、python3を使う環境
•
•
エディタとターミナルのPythonバージョンが違う
which python（Mac/Linux）／ where python（Windows
）
•
VSCodeのインタプリタ設定とシェルのPythonが別物
•
毎回 保存→実行 のリズムを体に染み込ませる
•
ファイルを保存せずに実行 →「変えたのに反映されな
い」
•
介入度 Lv.3〜4 で手厚く、早期解決を優先
•
やらかしノートに「OS別の典型ハマり」を蓄積
Python研修 段階別つまずき対応ハンドブック


# Page. 4

![Page Image](https://bcdn.docswell.com/page/4EZLLG3273.jpg)

Stage 2 ─ 基礎文法
03 / 10
「やさしさ」が逆に罠 ─ 動いてしまう誤解
一言でいうと お弁当箱の仕切り（インデント）がないと、唐揚げと白米が混ざる
WHY
エラーメッセージを「読む習慣」を徹底的につける段階。ここで「読まずに人に聞く」癖がつくと後半が地獄になる。Lv.1〜2中心
。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
IndentationError: expected an indented block
•
•
SyntaxError: invalid syntax（= と == の混同）
「def の中身がどこからどこまでか、Pythonにどう伝え
てる？」
•
TypeError: unsupported operand type(s) for +
•
•
└ input() の戻り値は必ず str
「等しい」と「代入する」は別の言葉だと体で覚えさ
せる
•
IndexError: list index out of range（0始まり）
•
type() で型を確認する癖を毎回つけさせる
•
「リストの番号、何番から始まる？」を毎回聞く
•
まずエラー文を声に出して読んでもらう（Lv.1）
Python研修 段階別つまずき対応ハンドブック


# Page. 5

![Page Image](https://bcdn.docswell.com/page/9J299YQGER.jpg)

Stage 3 ─ 関数・データ構造
04 / 10
スコープと参照渡しで脱落者が増える
一言でいうと 現象を体験させてから理屈を説明する
WHY
「参照渡しとは〜」を先に説明しても頭に入らない。print を挟んで現象を見せてから理屈に入ると刺さる。Lv.2 中心。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
NameError: name &#039;xxx&#039; is not defined（スコープ）
•
「関数の中と外、Pythonにとっては別の部屋」
•
リストのコピー問題（b = a で参照が共有される）
•
•
└ エラーが出ないからこそ厄介
print を挟んで現象を体験 → copy()/deepcopy() を教え
る
•
KeyError: &#039;xxx&#039;（辞書にキーがない）
•
「辞書にそのキーは存在する？」確認の習慣
•
タプルとリストの使い分けで詰まる
•
.get() の使い方も合わせて教える
•
グローバル変数の多用は早めに矯正
Python研修 段階別つまずき対応ハンドブック


# Page. 6

![Page Image](https://bcdn.docswell.com/page/DEY44GWGJM.jpg)

Stage 4 ─ モジュール・仮想環境
05 / 10
「自分の環境」と「実行環境」のズレ
一言でいうと 仮想環境は専用キッチン。料理ごとに調味料を分けて置く
WHY
仮想環境は手で何度も作って壊して覚える領域。口頭説明より、わざと壊して直す演習のほうが効く。Lv.2〜3。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
ModuleNotFoundError: No module named &#039;xxx&#039;
•
「いまどの仮想環境にいる？ pip list で確認できる？」
•
└ 原因①タイポ ②未インストール ③別の仮想環境
•
•
ImportError: cannot import name &#039;xxx&#039;
原因3パターンを順に確認させる（タイポ→未導入→別
環境）
•
└ バージョン違いで関数名が変わった／消えた
•
公式ドキュメントの該当バージョンを毎回開かせる
•
仮想環境の有効化忘れ（プロンプトに(venv)が無い）
•
プロンプトに (venv) があるか確認する習慣
•
わざと壊して直す演習を組む
Python研修 段階別つまずき対応ハンドブック


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GE8DDN59ED.jpg)

Stage 5 ─ クラス・OOP
06 / 10
抽象度が上がり、動くが理解していないが増える
一言でいうと 理論先行は逆効果 ─ 小さなクラスをたくさん書かせる
WHY
OOPは手を動かす量がモノを言う領域。「Userクラス」「商品クラス」など具体題材を多用し、現象を見せてから説明する鉄則を
貫く。Lv.3。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
TypeError: __init__() missing argument: &#039;self&#039;
•
「self はこのインスタンス自身を指す合言葉」
•
AttributeError: &#039;User&#039; object has no attribute &#039;xxx&#039;
•
dir(u) で属性一覧を見せると理解が早い
•
└ __init__ で定義していない属性は存在しない
•
具体題材（User／商品／注文）でクラスを量産させる
•
クラス変数とインスタンス変数の混同
•
「現象を見せてから説明」の鉄則を貫く
•
self が「魔法の言葉」のままになる
•
理論先行の説明は避ける
Python研修 段階別つまずき対応ハンドブック


# Page. 8

![Page Image](https://bcdn.docswell.com/page/PJR99WDN79.jpg)

Stage 6 ─ 実装課題・チーム演習
07 / 10
他人のコードを読むフェーズ ─ エラーが多様化
一言でいうと 講師は「答えを教える人」から「議論のファシリテーター」へ
WHY
この段階は自走と相互教え合いを最優先。Lv.1〜2 に絞り、講師の役割を切り替える。Pythonエラー以外（Git・環境差）への対応
比重が上がる。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
Git関連のエラー（コンフリクト・push拒否）
•
requirements.txt / .python-version / 環境変数を扱う
•
└ Stage 0 として独立で扱うのが理想
•
•
他人のコードが動かない（自分のPCでは動いた問題）
「エラー＝動かない、遅い＝エラー以下じゃない」を
教える
•
パフォーマンス問題（エラーは出ないが遅い）
•
受講生同士の教え合いを誘導する
•
└ 二重ループ・ループ内DBアクセス
•
Lv.1〜2 で自走を最優先
•
ファシリテーターに役割をシフト
Python研修 段階別つまずき対応ハンドブック


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PEXQQP18JX.jpg)

NG行動
08 / 10
講師がやってはいけないこと
一言でいうと 一度学習機会を奪うと、次から質問が来なくなる
WHY
講師の何気ない動作・反応が新人の質問頻度を直接左右する。質問が減ると詰まりが見えなくなり、後半で取り返しがつかなくな
る。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
いきなりキーボードを奪う → 学習機会の強奪
•
キーボードは本人の手の上に置かせたまま
•
「そんなのも分からないの？」系の反応
•
質問の入り口は「いい質問だね」で開く
•
└ 以後質問が来なくなる
•
解決後に必ず「次同じこと起きたら？」を聞く
•
答えだけ教えて再現方法を教えない
•
勘で答えそうなときは「一緒にエラー読もう」
•
エラーメッセージを読まずに勘で答える
•
基礎が抜けたら戻る勇気を持つ
•
段階を飛ばして応用を教える
Python研修 段階別つまずき対応ハンドブック


# Page. 10

![Page Image](https://bcdn.docswell.com/page/L73WWR4675.jpg)

09 / 10
チェックリスト
段階に合わせた介入ができたか
一言でいうと Stage によって介入度を変える ─ 一律にしない
WHY
Stage 1 と Stage 6 で同じトーンで対応していると、受講生は伸びない。各段階で「今どの介入度を使うべきか」を意識する。
WHAT 典型エラー・つまずき
HOW 講師の問い・介入方針
•
Stage 1（環境）：Lv.3〜4で早期解決
•
□ いま何 Stage か、自分で言える
•
Stage 2（基礎）：Lv.1〜2でエラーを読ませる
•
□ その Stage に合った介入度を選んだ
•
Stage 3（関数・データ）：Lv.2 で現象先行
•
□ 段階ヒント Lv.1 → Lv.4 を順に踏んだ
•
Stage 4（仮想環境）：Lv.2〜3 で壊して直す
•
□ 解決後「なぜ」を本人に説明させた
•
Stage 5（OOP）：Lv.3 で量を書かせる
•
□ やらかしノートに1行残した
•
Stage 6（実装）：Lv.1〜2 でファシリテート
•
□ 表情・しぐさをフラットに保った
Python研修 段階別つまずき対応ハンドブック


# Page. 11

![Page Image](https://bcdn.docswell.com/page/2EVVV3QPEQ.jpg)

まとめ ─ 講師の最終ゴール
10 / 10
受講生がこう言えれば、研修は成功
一言でいうと エラー対応を「学習機会」に変換できているか
&quot;
KeyError が出ました。辞書にこのキーが無いみたいなので、いま .get() に書
き換えるか、事前チェック入れるか考えてます。
— 研修終了時の理想の発言
この一言に含まれる3要素
① 状況把握
② 原因仮説
③ 対処選択
エラー名と意味を自分の言葉で言えている
何が起きているかの仮説を持っている
複数の対処を比較して選ぼうとしている
Python研修 段階別つまずき対応ハンドブック


