Pythonの学習や、ライブラリの動作を一時的に試したい場合、.pyファイルを作成せずに即座にコードを実行できると便利です。このために提供されているのが「対話モード(REPL)」です。
REPLとは、Read (読み込み), Eval (評価), Print (表示), Loop (繰り返し) の頭文字を取ったもので、入力されたコードを即座に実行し、結果を表示する環境を指します。
この記事では、Pythonの対話モードの起動方法と、基本的な使い方について解説します。
対話モードの起動と終了
対話モードを使用するには、ターミナル(WindowsではコマンドプロンプトやPowerShell)を開き、以下のコマンドを入力します。
python
環境によっては python3 を使用する必要があります。
python3
コマンドが実行されると、Pythonのバージョン情報とともに >>> というプロンプト(入力受付記号)が表示されます。これが、コードが入力可能な状態であることを示しています。
Python 3.11.5 (main, Aug 24 2023, 15:09:37) [Clang 14.0.3 (clang-1403...)]
Type "help", "copyright", "credits" or "license" for more information.
>>>
対話モードの終了方法
対話モードを終了する場合は、exit() と入力するか、以下のキー操作を行います。
- Linux / macOS:
Ctrl + D - Windows:
Ctrl + Zを押した後、Enterキー
対話モードでのコード実行
>>> プロンプトに続けてPythonコードを入力し、Enter キーを押すと、そのコードがすぐに評価・実行されます。
1. 変数の定義と単純な計算
変数を定義したり、計算式を入力したりすると、その結果がすぐに確認できます。
>>> # 変数の定義
>>> app_name = "Data Analyzer"
>>> version = 1.05
>>> # 変数の内容を表示
>>> print(app_name)
Data Analyzer
>>> # 計算の実行
>>> price = 1500
>>> tax_rate = 0.1
>>> total_price = price * (1 + tax_rate)
>>> print(total_price)
1650.0
2. 関数の利用とメソッドの実行
組み込み関数や、文字列のメソッドなどもその場で試すことができます。
>>> # 文字列の長さを確認
>>> len(app_name)
13
>>> # 大文字に変換
>>> app_name.upper()
'DATA ANALYZER'
3. モジュールのインポート
標準ライブラリや外部ライブラリのモジュールをインポートして、その機能を試すことも可能です。
>>> # mathモジュールをインポート
>>> import math
>>> # 平方根を計算
>>> math.sqrt(256)
16.0
複数行のコード(インデント)
for ループ、if 文、関数の定義(def)など、インデント(字下げ)を伴う複数行のコードも入力できます。
インデントが必要なブロックの開始行(: で終わる行)を入力すると、次の行のプロンプトが ... に変わります。これが「継続行」の目印です。
>>> items = ["Apple", "Banana", "Cherry"]
>>>
>>> # forループの例
>>> for fruit in items:
... print(f"Item: {fruit}")
...
Item: Apple
Item: Banana
Item: Cherry
>>>
>>> # 関数の定義例
>>> def check_value(num):
... if num > 100:
... return "Large"
... else:
... return "Small"
...
>>> # 関数の実行
>>> check_value(150)
'Large'
インデントブロックを終了し、通常の >>> プロンプトに戻すには、単に Enter キー(空行)を押します。
まとめ
Pythonの対話モード(REPL)は、ファイルを作成する手間なく、コードの断片を素早くテストしたり、文法を確認したりする際に非常に役立つツールです。
python(またはpython3) で起動します。>>>プロンプトにコードを入力すると即座に実行されます。...はインデント(継続行)が必要な状態を示します。exit()やCtrl+D(またはCtrl+Z) で終了します。
学習や開発の過程で、動作を素早く確認したい場面で活用してください。
