Python | 文法の基本:インタプリタと実行方法

Python
スポンサーリンク

インタプリタとは

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()
Python
python 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()
Python
python 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()
Python
python app.py
  • 学びのポイント: 機能をファイル単位で分離すると、テスト・保守・拡張が格段に楽になる。

よくあるつまずきと短い対策

  • 実行コマンドの違い: 原因: 環境により「python」と「python3」のどちらかしか通る。
    対策: どちらでバージョンが出るか試し、以後は統一する。
  • 改行やインデントでのSyntaxError: 原因: Pythonはインデントが文法。半角スペースとタブの混在で崩れる。
    対策: エディタ設定で「タブをスペースに変換」「インデント幅4」を固定。
  • モジュールが見つからない(ModuleNotFoundError): 原因: 仮想環境にインストールしていない、または別環境で実行。
    対策: 必ず仮想環境を有効化してからpip install。必要ならrequirements.txtに固定。
  • 文字化け: 原因: 端末やファイルの文字コード不一致。
    対策: ファイルはUTF-8で保存。端末の表示が不審なら、出力側でエンコードを明示するかIDEを使う。

まとめ

インタプリタは「今すぐ試せる」学習の加速装置で、REPLは小さな検証、スクリプトは現実的な運用に向いています。仮想環境で再現性を確保し、name == “main” で入口を整え、エラーを味方にする——この3点を押さえるだけで、初心者でも迷いが激減します。

タイトルとURLをコピーしました