LoginSignup
3
5

More than 3 years have passed since last update.

IDLEとターミナルの違い

Posted at

これは何

Pythonコーチとして書いているブログのQiita版です。

Source: https://cyta.jp/python/b/91971

IDLEとは

Pythonの入門書などを見ますと、「まず実行環境としてIDLEを使います」という始まり方の本が(特にここ数年は)多いように感じます。

そもそもIDLEとは何かと言うと、Pythonのドキュメントによると

IDLE は Python の統合開発環境で、学習用環境です。

だそうです。

「だそうです」などど言う他人事のような語尾を見て「あれ? コーチのくせにIDLEも知らないの???」と思われた方もいらっしゃるかもしれません...。
ある意味ではその通りです。日常業務でも自身のPythonの学習でもIDLEを使ったことが全くと言っていいほどありません。

それはなぜか、なぜIDLEを使わなくてもPythonが実行できるのか、というのがこの投稿の肝の部分になります。

IDLEとは(再び)

IDLEがすでにインストールされているとして、IDLEを立ち上げると、いきなりPythonのコードを入力できる状態になっていると思います。

>>>」という記号が行頭に出てると思うんですね。

これを専門用語では「プロンプト」と言います。
「ここにPythonのコードを打ち込んでくださいね。待ってます。」という待受け状態を表現しているものです。

>>>」に続けてprint("Hello, IDLE!")と打ち込みEnterを押すと、ひとつ下の行にHello, IDLE!と返ってくると思います。
入力後の全体の状態は下のようになると思います。

>>> print("Hello, IDLE!")
Hello, IDLE!
>>>

2行目のHello, IDLE!は1行目のprint("Hello, IDLE!")にPythonが応じて返したものなので行頭にプロンプト(「>>>」)がありません。
3行目は次のPythonコードを待ってますよ、という意味で再びプロンプトが表示されています。

ちなみにこのコードの入力とそれに対する応答の繰り返しをREPL(Read, Eval, Print, Loopの略)と言います。
REPLの主語はコンピュータになります。人間の側ではないです。
コンピュータが、
1) コードを読んで(Read
2) その内容を評価して(Eval)
3) 評価した結果を表示し(Print)
4) 次のコードを待ち受ける状態(1)に戻る(Loop)
ということをするわけです。

ターミナルでPythonを実行する

ターミナルでPythonを実行するのは拍子抜けするほど簡単です。
※ Windowsではいくつかの選択肢があるのでそれはまた別の機会に書きます。

まずはターミナルを立ち上げます。

ターミナルの場合は「$」や「%」がプロンプトになります。(特に何も手を加えてなければ「$」が表示されるかと思います。)

ここで注意なのが、ターミナルはPython専用ではないということです。
Python以外のたくさんのプログラミング言語やコマンドを実行できる「汎用REPL」と理解してください。

そのためここで一手間加えます。
ターミナル標準の「$」というプロンプトに続けてpythonと打ち込みEnterを押す。

これだけです!

すると「$」だったプロンプトがIDLEと同じ「>>>」に変化するはずです。

ここからは基本的にIDLEの使い方で説明した内容と同じになります。

※ ターミナル上でPythonプロンプトを終了するには Ctrl+D(Controlキーを押しながら「D」キー)を入力してください。

IDLEはターミナルを優しくしたもの

つまりIDLEでできることはすべてターミナルを使っても実行可能です。

というか、ターミナルのほうが「親」のようなイメージですね。
ターミナルでできることの中から、Pythonに関係するところだけ切り取ってまとめたものがIDLEと思っていいでしょう。

「てことは、ターミナルがあれば、IDLEは別になくても良い???」

と思われた方もいらっしゃるのではないでしょうか。

コーチ個人の感覚ではそうなります。

ではIDLEにまったく存在意義がないかというとそれは違います。

ターミナルは汎用的でなんでもできるのですが、汎用的なために扱いが難しい面があります。
代表的なのは「すべてをコマンドで打ち込む必要がある」という点です。

初心者の身からすると「全部コマンドか...」と思うと結構げんなりするものです。

こういった「実際問題、ちょっと初心者には難しいなぁ」という操作を、IDLEでは他の普通のアプリ(エクセルとか)と同じ用にマウス操作可能にします。

つまり、IDLEは初心者がPythonを実行するハードルを下げるためにより優しいインターフェイスにしたもの、と捉えればよいと思います。

Python学習の参考になれば幸いです。

3
5
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5