採点されません。匿名です。 間違えることは学習の一部です。読むだけでもかまいません。

L01 ch02 — REPL で対話実行

テクノロジ系 / L01 hello — Hello World

L01 ch02 — REPL で対話実行

「ファイル保存 → 実行」より速い試行錯誤の道具

ゴール

  • REPL (Read-Eval-Print Loop) を起動・終了できる
  • 1 行ずつ式を評価して結果を確認できる
  • ファイル実行と REPL の使い分けが言える

REPL とは

ReadEvalPrintLoop

入力した式を その場で評価し、結果を表示し、また入力を待つ 対話型シェル。

uv run python
>>> 1 + 1
2
>>> "Hello, " + "FastAPI"
'Hello, FastAPI'
>>>

起動と終了

# 起動 (uv プロジェクト配下なら推奨)
uv run python

# 起動 (素の Python)
python

# 終了
>>> exit()
# または Ctrl+D (macOS/Linux) / Ctrl+Z + Enter (Windows)

>>> がプロンプト。これが出ていれば入力待ち。

式と文の違い

>>> 1 + 1          # 式 → 結果が出る
2
>>> x = 10         # 文 (代入) → 何も出ない
>>> x              # 式 (変数参照) → 値が出る
10
>>> print(x)       # 関数呼び出し → print の出力が出る
10

REPL では 式の結果は自動で表示 される (= print 不要)。

計算機としての REPL

>>> 100 * 1.08          # 消費税込み
108.0

>>> (1 + 2 + 3) / 3     # 平均
2.0

>>> 2 ** 10             # 累乗
1024

>>> 17 % 5              # 余り
2

電卓代わりに常駐させる人も多い。

関数を試す

>>> def square(n):
...     return n * n
...
>>> square(4)
16
>>> square(10)
100

... は「複文の続き」のプロンプト。インデント込みで入力。

空行で関数定義を確定。

help() と dir()

>>> help(len)            # 関数のドキュメント
>>> dir("hello")         # str が持つメソッド一覧
['__add__', ..., 'upper', 'zfill']

>>> "hello".upper()      # 試す
'HELLO'

「これって何ができるんだっけ?」を即確認できる。

REPL とファイル実行の使い分け

やりたいことREPLファイル実行
1 行の挙動を確認
関数 1 個だけ試す
何度も再実行する処理
import が多い
本番コード×

試行錯誤は REPL、定着したらファイルへ

drill

drill/ — REPL で式を評価した結果を予想して埋める

拡張課題

  1. 履歴を辿る: REPL 起動中に キーで前の入力を呼び戻せる
  2. マルチライン編集: python -m IPython (要 uv add ipython) でより快適な REPL に
  3. _ (アンダースコア): 直前の式の結果が _ に入る
   >>> 2 + 3
   5
   >>> _ * 10
   50
   

よくある詰まり

症状原因対処
>>> から抜けられないexit と打って Enter していないexit() (括弧必須) or Ctrl+D
SyntaxError: unexpected EOF関数定義の途中で Enter 2 回空行を入れて確定し直す
... から戻れない複文入力中空行で Enter
変数が消えたREPL を再起動したREPL の変数はプロセス終了で消える

次に学ぶ領域

領域続けて読む
変数の型 (int / str / bool)variables/ch01-basic
関数定義function/ch01-basic
より高機能な REPLIPython / python -i script.py
力試ししたい方は クイズ形式の演習(任意) もあります。読むだけでも十分です。