インタプリタとは
Pythonの「インタプリタ」は、あなたが書いたコードを1行ずつ読み取り、その場で実行してくれる通訳のようなソフトウェアです。書いてすぐ試せるので、初心者が「動く感覚」を掴みやすく、失敗してもすぐに直せるのが強みです。コンパイラ言語のように事前に「ビルド」する手間がなく、学習スピードが上がります。
実行方法の全体像
対話型シェル(REPL)
対話型シェルは、インタプリタを直接起動して、1行ずつコードを打ち込み、その場で結果を確認できる実験場です。コマンドラインで次のように起動します。
# 代表的な起動コマンド(環境により異なる)
python
# もしくは
python3
起動すると「>>>」というプロンプトが現れます。そこで試します。
>>> print("Hello, Python!")
Hello, Python!
>>> 2 + 3 * 4
14
>>> def add(a, b):
... return a + b
...
>>> add(10, 20)
30
Python終了は次のいずれかです。
exit()
# Windowsなら Ctrl+Z の後に Enter
# macOS/Linuxなら Ctrl+D
REPLを使う場面のコツ
- 小さな検証: 1行〜数行のアイデア確認、関数の挙動テストに最適。
- 即時フィードバック: エラーが出たら、その場で修正して再試行できる。
- 思考の加速: 「試す→わかる→直す」のループが早いほど、理解が深まる。
スクリプト実行(.pyファイル)
ファイルにまとまった処理を書き、インタプリタに渡して実行します。学習だけでなく実務や自動化ではこちらが基本になります。
# hello.py
def greet(name):
print(f"こんにちは、{name}さん")
if __name__ == "__main__":
greet("太郎")
Python実行は次のようにします。
python hello.py
# もしくは
python3 hello.py
引数を渡すこともできます。
# cli_greet.py
import sys
def main():
if len(sys.argv) < 2:
print("使い方: python cli_greet.py <名前>")
return
name = sys.argv[1]
print(f"こんにちは、{name}さん")
if __name__ == "__main__":
main()
Pythonpython cli_greet.py 花子
IDEやエディタからの実行
VS Code、PyCharm、ThonnyなどのIDE・エディタは、保存と実行、デバッガ、補完、仮想環境の切替を一体化してサポートします。学習初期は、VS Code+Python拡張機能か、よりシンプルなThonnyが扱いやすいです。
- 実行ボタン: エディタ上部の「Run」ボタンでワンクリック実行。
- ターミナル連携: 画面下のターミナルに結果やエラーが出るので、原因追跡がしやすい。
- デバッグ: ブレークポイントで一時停止し、変数の中身を目で確認できる。
環境準備と起動の重要ポイント
インストールとバージョン
- 公式から入手: 初めては Python公式サイトから最新安定版をインストールするのが無難。
- バージョン表記: コマンドが「python」か「python3」かは環境によります。確認は次で。
python --version
# または
python3 --version
起動・終了の定番操作
- コマンド起動: ターミナルやコマンドプロンプトで「python」または「python3」。
- 終了操作: exit()、Ctrl+Z+Enter(Windows)、Ctrl+D(macOS/Linux)。
よくある「動かない」原因と対処
- パスが通っていない: インストール後にコマンドが見つからない場合は、PATH設定が未反映。いったん端末を再起動、ダメなら再インストール時に「PATHに追加」を選ぶ。
- 複数バージョンの衝突: pythonとpython3が混在すると混乱します。どちらを使うか決めて統一しましょう。
- ファイルの場所違い: 実行時の作業ディレクトリが違うと「そんなファイルない」になります。まず「どこで」実行しているか確認。
深掘りポイント(ここが大事)
仮想環境(venv)と依存関係管理
プロジェクトごとにライブラリの組み合わせを分けるための「個別の箱」が仮想環境です。これを使わないと、別プロジェクト同士のライブラリが上書きし合い、再現性が失われます。
# 仮想環境の作成
python -m venv .venv
# 有効化
# Windows
.\.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# パッケージのインストール例
pip install requests
# 無効化
deactivate
Python- 再現性: チームや将来の自分が同じ環境を再現できる。
- 安全運用: システム全体のPythonに影響を与えない。
name == “main” の意味
スクリプトが「直接実行されたときだけ」動く入口を定義するお約束です。モジュールとしてインポートしたときに、意図せずメイン処理が走る事故を防ぎます。
def run():
print("メイン処理")
if __name__ == "__main__":
run()
Python- 直接実行: 条件がTrueになり、run()が呼ばれる。
- インポート: 条件がFalseになり、run()は呼ばれない。
エラーメッセージの読み方
エラーは学習の味方です。焦らず、次の3点だけ丁寧に見るクセをつけましょう。
- 種類: SyntaxError(文法)、NameError(名前未定義)、TypeError(型不一致)など、何系の問題かが分かる。
- 場所: Tracebackの最後の行に、どのファイルの何行目かが記載される。
- 原因文: 「expected ‘:’」「list indices must be integers」など、修正のヒントが書かれている。
例題で身につける(REPL とファイル実行の差を体験)
例題1:REPLで素早く関数を試す
REPLは試行錯誤の速度が命です。関数の微調整を数秒で回します。
# REPLで入力
>>> def safe_div(x, y):
... if y == 0:
... return None
... return x / y
...
>>> safe_div(10, 2)
5.0
>>> safe_div(10, 0)
None
Python- 学びのポイント: 失敗ケース(0除算)を即座に確認できるので、ロジックの穴を埋めやすい。
例題2:スクリプトに引数を渡して動かす
ファイルとして保存し、外部から動かす「現実的な使い方」を体験します。
# tax.py
import sys
def calc_tax(amount, rate=0.1):
if amount < 0 or rate < 0:
raise ValueError("負の値は不可")
tax = round(amount * rate)
return amount + tax
def main():
if len(sys.argv) < 2:
print("使い方: python tax.py <金額> [税率]")
return
amount = float(sys.argv[1])
rate = float(sys.argv[2]) if len(sys.argv) >= 3 else 0.1
print(calc_tax(amount, rate))
if __name__ == "__main__":
main()
Pythonpython tax.py 1000
python tax.py 1000 0.08
- 学びのポイント: コマンドライン引数で動作を切り替え、スクリプトを小さなツールにできる。
例題3:モジュール化と再利用
ファイルを分けて再利用できる形にすると、成長に耐えるコードになります。
# utils.py
def normalize_name(text):
text = text.strip()
return text.title()
Python# app.py
from utils import normalize_name
def main():
raw = " taRO "
print(normalize_name(raw)) # "Taro"
if __name__ == "__main__":
main()
Pythonpython app.py
- 学びのポイント: 機能をファイル単位で分離すると、テスト・保守・拡張が格段に楽になる。
よくあるつまずきと短い対策
- 実行コマンドの違い: 原因: 環境により「python」と「python3」のどちらかしか通る。
対策: どちらでバージョンが出るか試し、以後は統一する。 - 改行やインデントでのSyntaxError: 原因: Pythonはインデントが文法。半角スペースとタブの混在で崩れる。
対策: エディタ設定で「タブをスペースに変換」「インデント幅4」を固定。 - モジュールが見つからない(ModuleNotFoundError): 原因: 仮想環境にインストールしていない、または別環境で実行。
対策: 必ず仮想環境を有効化してからpip install。必要ならrequirements.txtに固定。 - 文字化け: 原因: 端末やファイルの文字コード不一致。
対策: ファイルはUTF-8で保存。端末の表示が不審なら、出力側でエンコードを明示するかIDEを使う。
まとめ
インタプリタは「今すぐ試せる」学習の加速装置で、REPLは小さな検証、スクリプトは現実的な運用に向いています。仮想環境で再現性を確保し、name == “main” で入口を整え、エラーを味方にする——この3点を押さえるだけで、初心者でも迷いが激減します。
