Contents
- 1 ターミナルでパイソンなどを実行後 〇PS C:\Users\DELL> cd tamu した後に、PSの前に赤い◎や青い●や普通の〇がつきますが何を表してますか?
- 2 細かいことですが、パイソンのプログラムのフォルダに「src」をよく見かけますが何のことですか?
- 3 VSCodeのエクスプローラのフォルダの一つの表示が赤くなりましたが?
- 4 編集中にprint(‘こんにちは、Python!’)の!が黄色の四角い枠で囲まれていました。
- 5 VSCodeで編集時 print(1+2) の下の行に勝手に print(3+4) が薄く表示。(インライン提案)
- 6 オートインデントはなぜ勝手に入るのか?
- 7 インデントエラー
ターミナルでパイソンなどを実行後 〇PS C:\Users\DELL> cd tamu した後に、PSの前に赤い◎や青い●や普通の〇がつきますが何を表してますか?
あー、そこに気づくのはかなり良いところ見てます 👍
それ、**PowerShell自体の標準表示ではなく「拡張されたプロンプト表示」**です。
結論から言うと:
赤い◎/青い●/白い〇 は「今いるフォルダの状態」を一目で示すマーク
多くの場合 Git(バージョン管理)の状態を表しています
まず前提:これはPowerShellの素の表示じゃない
通常の PowerShell はこんな感じです:
PS C:\Users\DELL>
でもあなたの環境では:
-
色付き
-
記号付き(〇 ● ◎)
になっている
👉 oh-my-posh / starship / posh-git などが入っています(VS Codeが勝手に用意することもあります)
〇 ● ◎ の正体(いちばん多い意味)
ほぼ確実に Git リポジトリの状態です。
| 記号 | 色 | よくある意味 |
|---|---|---|
| 〇 | 白 / 無色 | Git管理外、または変更なし |
| ● | 青 | Git管理下・クリーンな状態 |
| ◎ | 赤 | 変更あり(未保存・未コミット) |
あなたの状況に当てはめると
PS C:\Users\DELL> cd tamu
tamu フォルダに入った瞬間に:
-
🔵 青い●
→ 「ここは Git 管理されてるフォルダだよ」 -
🔴 赤い◎
→ 「でもファイルが変更されてるよ」
という 信号機みたいな役割をしてます。
具体例で見ると
① 普通の〇
〇 PS C:\Users\DELL>
-
Gitと無関係な場所
-
ただのフォルダ
② 青い●
● PS C:\Users\DELL\tamu>
-
Gitリポジトリ
-
変更なし(クリーン)
③ 赤い◎
◎ PS C:\Users\DELL\tamu>
-
Gitリポジトリ
-
何か変更されたファイルがある
-
.py
-
.ipynb
-
README.md など
-
「Gitって入れた覚えないけど?」
よくあります 😄
理由は:
-
VS Code を入れた
-
Python開発を始めた
-
Git が裏で自動検出された
👉 自分でコマンド使わなくても表示だけ出ることがあります
無視していい?
✔ 今は完全に無視してOK
-
Python実行には影響なし
-
エラーでも警告でもない
-
ただの「状態表示」
✔ むしろ便利
慣れると:
-
「あ、変更したままだ」
-
「ここGit管理されてるな」
が一瞬で分かるようになります。
もし消したくなったら?
消せますが、今は触らなくていいです。
これは:
-
PowerShellプロンプトの見た目
-
開発者向けの便利装飾
今は
👉「お、なんか状態を教えてくれてる」
くらいでOK。
ひとことでまとめ
-
〇 ● ◎ は プロンプトの装飾
-
多くは Gitの状態表示
-
エラーではない
-
Pythonとは無関係
-
慣れると手放せない
今の流れ(VS Code + Python + ipynb)を進めていくと、
そのマークの意味が自然に腑に落ちますよ
細かいことですが、パイソンのプログラムのフォルダに「src」をよく見かけますが何のことですか?
いいところに目が行ってますね。
それ、かなり“分かってきた人”の視点です 👍
結論から言うと:
srcは「ソースコード(実行ロジック)専用フォルダ」
= Pythonプログラムの中身置き場
src って何の略?
source(ソース) の略です。
-
設定
-
データ
-
実行結果
と 分離するために使われます。
典型的なフォルダ構成
よく見る形はこれ👇
project/
├─ README.md
├─ src/
│ ├─ main.py
│ ├─ am.py
│ └─ fft.py
├─ notebooks/
│ └─ am_analysis.ipynb
├─ data/
│ └─ input.csv
├─ results/
│ └─ spectrum.png
👉 src = 実行ロジックだけ
なぜわざわざ src に分ける?
① 迷子防止
-
どれが「動くコード」か一目瞭然
② import事故を防ぐ
Pythonは「カレントディレクトリ」を基準に import します。
src/
mylib.py
としておくと、
-
偶然同名ファイルを拾う
-
パスがぐちゃぐちゃ
を防げます。
(srcレイアウトと呼ばれます)
③ プロジェクトが育っても破綻しない
最初:
main.py
3か月後:
どれが本体?
どれが実験?
どれが一時ファイル?
👉 src があると、成長に耐える
Python初心者は必須?
正直に言うと👇
-
小さな練習コード → 不要
-
1ファイル完結 → 不要
でも:
-
複数ファイル
-
ipynb + py 混在
-
後で見返す
👉 ここから必要になる
今のあなたは、ちょうど境目です。
あなた向けおすすめ構成(現実的)
今やっている AM / FFT なら:
am_project/
├─ README.md
├─ src/
│ ├─ signal.py # 波形生成
│ ├─ modulation.py # AM / FM
│ └─ fft_utils.py
├─ notebooks/
│ └─ am_fft.ipynb
notebook では:
from src.modulation import am
注意点(ハマりどころ)
src を使うと:
-
import でエラーが出やすい
-
__init__.pyが必要な場合あり
でもこれは
**「Pythonの構造を理解する良い通過点」**です。
ひとことでまとめ
-
src= ソースコード置き場 -
規則ではないが「事実上の標準」
-
大きくなる前に入れると楽
-
今のあなたのレベルなら 使い始めてOK
この次に自然につながる話題は
-
__init__.pyの意味 -
from src import ...が動く仕組み -
notebookからsrcを読む作法
VSCodeのエクスプローラのフォルダの一つの表示が赤くなりましたが?
いいところに気づきました 👍
それ、VS Code が「変化が起きているよ」と教えてくれているサインです。エラーではありません。
フォルダ名が赤くなる正体
ほぼ確実にこれです👇
Git(バージョン管理)が有効で、
そのフォルダ内に「変更・未保存・未登録のファイル」がある
VS Code のエクスプローラは、Git 状態を色で表示します。
色の意味(基本)
🔴 赤
-
変更されたファイルがある
-
まだ Git に記録(commit)されていない
今回だと:
-
新しく作った
.ipynb -
編集した
.py -
自動生成されたファイル
が原因のことが多いです。
よくある具体例(今回の流れ的に)
-
AM / FM の
.ipynbを作成・編集 -
実行して内容が変わった
-
VS Code が
「前と違うよ?」
と教えてくれている
👉 健全な状態です。
中を確認する方法(おすすめ)
-
左のアイコン列で
🗂 → 🧾(枝分かれみたいなアイコン)
👉 ソース管理 -
そこに
-
変更されたファイル名
-
M(Modified) -
U(Untracked)
-
が一覧で出ます。
何かしないとダメ?
結論:今は何もしなくてOK
-
勉強・実験中なら放置で問題なし
-
Git を使う予定がなければ無視してOK
もし色を消したい場合(2択)
方法①:Git を使わない
そのフォルダを Git 管理しない
→ 色は自然に消えます(別フォルダで作業)
方法②:Git に記録する(将来向け)
変更を commit する
VS Code なら:
-
ソース管理
-
メッセージ入力
-
✔ Commit
超重要な安心ポイント
-
❌ 壊れた
-
❌ エラー
-
❌ 実行失敗
全部違います。
👉
「ちゃんと作業してる証拠」
だと思ってください。
まとめ
-
赤い表示 = Git が「変更あり」と教えている
-
今回は正常・問題なし
-
ipynb 実験との相性も良い機能
VS Code はこうやって
黙って見守ってくれる相棒
みたいな存在です。
VS Codeでターミナルの表示/非表示
正しくは 「Ctrl + (バッククォート)`」ですが、日本語キーボードの環境では 「Ctrl + @」が正しく動作しています。
なぜ「Ctrl + @」で動くのか?
これは キーボード配列とOS設定の違いによるものです。
日本語キーボード(JIS配列)では
-
@と`(バッククォート)が
同じキーに割り当てられている 場合があります -
表示は「@」でも、
VS Code には「`(バッククォート)」として認識されている
👉 そのため
Ctrl + @ = Ctrl + ` と同じ動作になります。
つまり何が起きているかというと
| 見た目 | 実際のキーコード | 結果 |
|---|---|---|
| Ctrl + @ | Ctrl + ` | ターミナル表示 |
| Ctrl + ` | Ctrl + ` | ターミナル表示 |
VS Code 側は
👉 キーの「印字」ではなく「物理キー位置」を見ています
どちらが正しいの?
👉 **「自分の環境で動く方が正解」**です。
-
あなたのキーボード
→ Ctrl + @ が正解 -
別の人のキーボード
→ Ctrl + ` になることもある
これは バグでも設定ミスでもありません。
確認したい場合(上級)
VS Code でCtrl + Shift + P→
Keyboard Shortcuts (JSON)
ここでtoggle terminal を見ると
実際に割り当てられているキーが確認できます。
まとめ(安心ポイント)
-
Ctrl + @ でターミナルが開く → 正常
-
日本語キーボードではよくある挙動
-
VS Code は「キー配置基準」で動く
-
無理に直す必要なし
編集中にprint(‘こんにちは、Python!’)の!が黄色の四角い枠で囲まれていました。
黄色の四角い枠で囲まれた文字(編集時)
結論から言うと――
👉 エラーではありません。Pythonの警告でもありません。
黄色い四角い枠「!」の正体
これは VS Code の表示補助(Unicode / 全角・記号の可視化) です。
今回の場合
print(‘こんにちは、Python!’)
この 「!」 が
-
黄色い四角い枠で囲まれていた
-
カーソルを近づけると強調される
という状態なら、ほぼ間違いなく👇
原因:全角ビックリマーク(!)
実はこの「!」、半角 ! ではなく 全角 ! になっています。
| 種類 | 見た目 | 中身 |
|---|---|---|
| 半角 | ! | ASCII |
| 全角 | ! | Unicode |
Pythonでは 文字列の中なので問題なし
👉 でも エディタが「注意してね」と教えてくれている
なぜVS Codeは強調表示するの?
理由はこれです👇
全角記号はコード中で使うとバグの原因になりやすい
特にファイル名、演算子、変数名
に入ると見た目は同じで動かないことがある
なので VS Code は「これ、Unicode文字だよ」と教えてくれています。
確認方法(超かんたん)
① カーソルを「!」に乗せる
② 右下 or ツールチップを見る
表示例:Fullwidth Exclamation Mark (U+FF01)
消したい場合(おすすめ)
半角に打ち直す
! を削除
半角 ! を入力
print('こんにちは、Python!')
これで黄色枠は消えます 👍
表示自体を消したい場合(上級)
VS Code 設定で:
-
editor.unicodeHighlight.nonBasicASCIIをfalse
ただし
👉 初心者のうちは ON 推奨
(トラブル予防になります)
重要ポイント
-
✅ 実行エラーではない
-
✅ Python的にも問題なし
-
⚠ 将来バグの種になる可能性がある
-
🧠 VS Codeの「親切警告」
もし今後、変数名が動かないファイル名があるのに見つからない…みたいなときは
全角文字チェックを思い出してください
VSCodeで編集時 print(1+2) の下の行に勝手に print(3+4) が薄く表示。(インライン提案)
なかなか消せなかったが、取り消す方法は?なぜこんな補助が出るのか?
ありますあります、それ 😊
VS Code の「ゴーストテキスト(インライン提案)」が出ている状態です。
結論から言うと:
-
消し方:
Escキー -
原因:AI/補完機能が「次に書きそうなコード」を予測して出している
なぜ薄い print(3+4) が勝手に出るの?
これは 実際のコードではありません。
VS Code が
「あ、次はこう書きたいんじゃない?」
と予測して薄く表示している提案です。
主な正体はこのどれか👇
-
Copilot
-
IntelliSense(コード補完)
-
Python 拡張の補完機能
print(1+2) を書いたので
👉「次も計算式の print だろう」と推測してprint(3+4) を出した、というわけです。
今すぐ消す方法(超重要)
一時的に消す
Esc
これで その場の薄い文字だけ消えます。
採用する場合
Tab
押すと、実コードとして確定します。
もう出したくない場合(恒久対策)
方法A:Copilot を使っている場合
-
左の拡張機能(四角いアイコン)
-
GitHub Copilot
-
無効化(Disable)
方法B:インライン補完をオフにする(おすすめ)
設定画面を開く
Ctrl + ,
検索欄に:inline suggest
「Editor: Inline Suggest」
→ チェックを外す ❌
これで 薄い文字は一切出なくなります。
なぜ「なかなか消えなかった」のか?
これはバグではなく仕様で、
-
Backspace → 消えない
-
Delete → 消えない
なぜなら「まだ入力されていない文字」だからです。
だから
👉 Esc でキャンセル
👉 Tab で採用
この2択しかありません。
初心者のうちはオフでOK?
👉 今はオフで全然OKです。むしろその方が理解が深まります。
補完は、文法に慣れてから「楽をしたい」と思った時で十分です。
まとめ
| 状態 | 操作 |
|---|---|
| 薄い文字を消したい | Esc |
| そのまま使いたい | Tab |
| もう出したくない | Inline Suggest をオフ |
オートインデントはなぜ勝手に入るのか?
例
for i in range(3):
print(i)
理由(核心)
Python では、
「:(コロン)」の次は必ずインデントされたブロック
というルールがあるからです。
VS Code は: を見た瞬間にこう判断します👇
「あ、次の行は字下げ必須だな」
その結果…
-
Enter を押す
-
自動で スペース4つ分 入る
これは 親切機能です(勝手にやってるわけではない)。
対象になる構文
以下は全部「Enter → 自動インデント」されます。
if 条件:
for i in range(3):
while 条件:
def func():
class A:
Enter を押したら勝手にインデントされる仕組み
実際に起きていること
VS Code は裏でこうしています:
-
今の行を解析
-
Python文法的に「ブロック開始」か判断
-
次の行に 適切なインデントを自動挿入
つまり
👉 Python専用の文法理解 + エディタの機能
の合わせ技です。
Enter 後にインデントを戻したいとき
方法①:Backspace
for i in range(3):
▮←ここでBackspace
方法②:Shift + Tab(おすすめ)
インデントを 1段戻す
Pythonでは超頻出
オートインデントが邪魔なとき(制御方法)
方法A:一時的に無視する
Enter → Shift + Tab
方法B:自動インデントをオフ(非推奨だが可能)
設定画面
Ctrl + ,
検索:
auto indent
設定項目:
Editor: Auto Indent
-
-
Full→None
-
⚠️ Pythonでは 基本ON推奨
OFFにすると逆にミスが増えます。
よくある混乱ポイント(超重要)
Q. インデントがズレると何が起きる?
👉 エラーになる
for i in range(3):
print(i) # ← エラー
エラー例:
IndentationError: expected an indented block
Q. スペースとTabが混ざると?
👉 最悪の地雷
VS Codeでは スペース4つに統一が安全。
設定確認:右下 → Spaces: 4
まとめ(ここだけ覚えればOK)
オートインデント
-
Pythonの文法を守るため
-
:の次で自動発動 -
敵ではなく味方
操作チート表
| 操作 | 効果 |
|---|---|
Enter |
次の行へ+自動インデント |
Shift + Tab |
インデント戻す |
Tab |
インデント増やす |
Backspace |
1段削る |
インデントエラー
インデントエラーをわざと起こして読む練習
Step1:まずは「正しいコード」
for i in range(3):
print(i)
print("終わり")
👉 実行結果
0
1
2
終わり
Step2:インデントを「わざと壊す」
for i in range(3):
print(i)
print("終わり")
出るエラー
IndentationError: expected an indented block
-
expected an indented block
「インデントされたブロックが必要です」
👉
「for の次には必ず字下げが必要」
という意味。
Step3:逆に「字下げしすぎる」
for i in range(3):
print(i)
これは?👉 エラーにならない
理由:
-
インデントは「深さが揃っていればOK」
-
4個でも8個でも問題なし(ただし非推奨)
Step4:混ざると危険(地雷)
for i in range(3):
print(i)
print("NG")
出るエラー例 IndentationError: unexpected indent
意味:「ここで字下げするのはおかしい」
for / if を崩して直す練習
問題①:if の中に入っていない
x = 10
if x > 5:
print("5より大きい")
修正後(正解)
x = 10
if x > 5:
print("5より大きい")
問題②:for の外に出したいのに出ていない
for i in range(3):
print(i)
print("ループ終了")
👉 このままだと毎回表示される
修正後
for i in range(3):
print(i)
print("ループ終了")
問題③:if と for の組み合わせ(超重要)
壊れたコード
for i in range(3):
if i == 1:
print("1です")
正解
for i in range(3):
if i == 1:
print("1です")
👉 階段状になるのがポイント。
VS Code 操作も一緒に練習しよう
操作セット
-
Tab→ インデント追加 -
Shift + Tab→ インデント戻す -
行選択 → 一気に調整できる
エラー文の「超短縮読み取り法」
| エラー | 見る場所 |
|---|---|
IndentationError |
インデント |
SyntaxError |
記号・構文 |
NameError |
変数名 |
TypeError |
型ミス |
👉 まずエラー名だけ見る
それだけで8割解決します。
いろいろなエラー
1️⃣ while文 × インデント地獄
2️⃣ def(関数)× インデントの正体
3️⃣ エラー文を「一瞬で読む」訓練
4️⃣ 総合ミニ演習(答え付き)
全部 コピペ → Run → わざと壊す でOKです。
1️⃣ while文 × インデント地獄
正常なコード
i = 0
while i < 3:
print(i)
i += 1print("終了")
出力:
0
1
2
終了
❌ 地獄①:インデント忘れ
i = 0
while i < 3:
print(i)
i += 1
エラー
IndentationError: expected an indented block
while の次は必ず字下げ
❌ 地獄②:無限ループ(エラー出ないのが怖い)
i = 0
while i < 3:
print(i)
👉 止まらない
👉 Ctrl + C で止める
理由:i += 1 が while の中にない
✅ 修正
i = 0
while i < 3:
print(i)
i += 1
2️⃣ def(関数)× インデントの正体
正しい関数
def hello():
print("こんにちは")hello()
❌ 関数なのに字下げなし
def hello():
print("こんにちは")
エラー
IndentationError: expected an indented block
def hello():
print("こんにちは")
hello()
👉 無限ループ(自分を呼び続ける)
正解構造(超重要)
def 関数名():
# 中身(字下げ)# ここは関数の外
3️⃣ エラー文を「一瞬で読む」訓練
① IndentationError
IndentationError: unexpected indent
👉 字下げがおかしい
② SyntaxError
print("hello"
👉 カッコ・コロン忘れ
③ NameError
print(x)
👉 x が定義されていない
④ TypeError
print("a" + 1)
👉 型が違う(文字+数字)
⑤ FileNotFoundError(あなたが体験済み)
open("test.txt")
👉 ファイル・パスがない
🔑 エラー読みの黄金ルール
-
一番下の行だけ見る
-
エラー名だけ読む
-
行番号を見る
👉 内容は後回しでOK
4️⃣ 総合ミニ演習(超重要)
問題:どこがおかしい?
def check(n):
if n > 0:
print("正の数")
else:
print("0以下")check(1)
正解
def check(n):
if n > 0:
print("正の数")
else:
print("0以下")check(1)
🧠 最重要まとめ(ここだけ覚えて)
-
Pythonは 字下げ=カッコ
-
エラーは「怒ってる」だけで壊れてない
-
while / for / if / def は 次の行を必ず字下げ
-
無限ループは Ctrl + C



コメント