Pythonのインストールが完了し、いざプログラムを書こうと思ったときに気づくのが、
「さて?どこにプログラムを書いて、どうやって実行すればいいんだろうか?」
という疑問だと思います。
ネットなどで調べてもおそらく書いてることが人によって様々で、何に従っていいのかわからず混乱してしまうと思います。
書いていることが人によって様々な理由は、ひとえに選択肢が様々だからです。
ここでは、Pythonを記述する場所と実行方法の選択肢について説明していきます。
Pythonを記述する場所
おそらくプログラマにとっては、当たり前すぎて、プログラムをどこに書けば良いのかを親切に書いてくれているサイトは少ないと思います。
ただ、プログラミング初心者の方やVBAのようなあるアプリケーションの上で動作する言語を利用してきた人にとっては、プログラムをどこに記述すれば良いかというのは意外と悩むポイントだと思います。
まずはどんな選択肢があるのかを知りましょう。プログラムを書く場所の選択肢は大きく「ターミナル、エディタ、IDE(統合開発環境)、jupyter notebook」の4つあると思ってください。
※4つの境目を明確に区別することは難しいところはありますが、ここでは4つに大別します。また、Jupyter notebookだけはツールの名称なのですが、あまりに独特なのでツール名称を書いています。
それぞれ詳細を順番に説明していきたいと思います。
ターミナル

エディタ

IDE(統合開発環境)

Jupyter Notebook

ターミナル(コマンドプロンプト)
ターミナル(コマンドプロンプト)に関しては、すでに以下の記事でどんなものか書いているので、まだ読んでいない方はそちらを先に読んでください。
ターミナルで記述するときは、上記の投稿で書いたようにターミナルを起動し、python3(Mac)あるいはpy(Windows)と実行します。実行するときのフォルダはどこであってもかまいません。
※以下の記述ではMacでの実行結果を記載します。
※以下で示すコマンド内の「$」「>」というは、それぞれMacの場合の「(ユーザー名)noMacBook-Pro:~(ユーザー名)$」、Windowsの場合の「C:\Users\(ユーザー名)>」までの部分を省略する意味で使っています。
おそらく以下のような結果が得られていると思います。
$ python3
Python 3.7.0 (default, Jul 23 2018, 20:22:55)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
> py
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
続いて、’hello world’を出力したいと思います。
上記にあるようにpython3の実行後に現れた「>>>」の右に’hello world’を出力するプログラムを書き、Enterを押します。
「>>>」は「ここにプログラムを書いていいよ」という意味です。
>>> print('hello world')
hello world
さて、ここまでやってみてうすうす気づいた方もいると思いますが、「長いプログラムになったらどうするの?」とか「見づらいな」とかあると思います。
これはいわゆる対話モードというやり方なのですが、プログラムを書いていくにはすごいやりづらいです。なので実際はターミナルでプログラムを書くことはほぼありません。pythonのバージョンを忘れた時とかにサクッとチェックしたりする時くらいです。
※ターミナルからエディタを開くvimなどはエディタの扱いで書いてます。
エディタ
次にエディタを使うパターンです。
エディタの説明の前に、ターミナルにpythonのコードを打ち込む以外の方法で、pythonプログラムを実行する方法について説明します。
pythonファイルの作成と実行
ターミナルにpythonのコードをつらつらと書き込まなくても、コードが書かれた.pyファイルをpythonコマンドにより実行することができます。
このファイルのことを「スクリプト(script)」と呼んだりします。

実際にやってみましょう。
まず、デスクトップでもどこでも良いので、適当なpythonファイル(test.py)を作成してください。
Windowsであれば、デスクトップ上で「右クリック」→「新規作成」→「テキストドキュメント」でテキストファイルを作成し、拡張子を.pyに変更すれば作成できます。
Macであれば、ターミナル上で以下のようにコマンドを打つことでデスクトップにpythonファイルを作成できます。
$ cd Desktop
$ touch test.py
test.pyができたところで、一度実行してみたいと思います。以下のコマンドになります。
※Windowsの方もcd DesktopでDesktopに移動していることが前提です。
$ python3 test.py
> py test.py
これで一応test.pyを実行できるのですが、test.pyには何も記述していないので、おそらく何もおこらないはずです。
したがって、test.pyになにかpythonのコードを記述したいですが、このtest.pyを編集するソフトがエディタです。
ただのメモ帳でも編集できなくはないです。ただ、エディタは、pythonの記述方法を理解して、pythonで定義されている言葉が現れた場合は、その言葉に色をつけたりしてわかりやすくしてくれます。
試しに私のおすすめのAtomというソフトで書いてみましょう
以下のサイトからダウンロード、インストールできます。
Atomを用いたpythonファイルの編集
Atomを起動すると以下のような画面が現れると思います。
使い方は一般的なソフトウェアと似ていると思いますので、特に詳細な説明はここではしません。

画面左上のFileのボタンを押すといくつか選択肢がある中にOpenというのがあります。
それを押すと編集するファイルを選べるので、先程作成したtest.pyを開きます。
以下のようにAtom上で、test.pyにhello worldを出力するプログラムを記述して保存します。
printはpythonで定義されている言葉なので、printに青字で色がついています。
また、文字列は緑色で表示されるようになっており、’hello world’が緑色になっていることがわかります。

ターミナルに戻り、先程と同様にpythonコマンドでtest.pyを実行します。
$ python3 test.py
hello world
> py test.py
hello world
あとは、test.pyの中身を書き換えていくだけで様々なプログラムを実行することができます。
エディタはあくまで、編集ソフトなので、出力結果はターミナルに出力されます。
エディタは色々な会社が提供しています。
エディタを比較しているサイトもあるのでこだわりたい人は色々調べてみてください。
IDE(統合開発環境)
次にIDE(統合開発環境)を使うパターンの説明です。
最初に述べておくとIDEはかなり高機能なものなので、初心者の方が利用しなくてもよいかなと思っています。
実際のIDEの画面を見てみましょう。

先程述べたようにエディタでpythonを実行した場合は、出力結果をterminalで見る必要があります。IDEでは、出力結果をターミナルで見ることができるので、便利です。
また、デバッグボタンがあり、途中までプログラムを実行して、どこが間違っているかを確認することなどもできます。
pythonのスキルが上がってきて、長いプログラムを書き出したときに使えば良いと思います。
個人的におすすめはpycharmというソフトです。
AtomをIDEと解釈する人もいます。どこまでがエディタで、どこからがIDEかの線引はわりと曖昧かもしれません。
jupyter notebook
jupyter notebookは、IDEとは異なるのですが、エディタで煩わしかった実行結果をターミナルでみるところを改善してくれつつ、実行結果をノートの形式で残すことができる非常に便利なツールです。
特にデータ分析を行うような時には非常に力を発揮します。株式投資などで株価の推移を可視化したり、相関関係をグラフにしたりするのもノートブック上でできるので、まずはこのjupyter notebookを使うのがおすすめです。
jupyter notebookの使い方については「Pythonの始め方⑤ jupyter notebookでpythonを動かす」を御覧ください。
ただ、その前にこちらの「Pythonの始め方④ pipって何ですか?Pythonを便利に利用するためのpipの理解」を先に読むことをおすすめします。
コメント
[…] 「Pythonの始め方③ プログラムってどこに書くの?Pythonの記述場所と実行方…の投稿の中で.pyファイル(スクリプト)を作成し、それを実行するということをしました。 […]
[…] 以前の投稿「Pythonの始め方③ プログラムってどこに書くの?Pythonの記述場所と実行方法」の中で、jupyter notebookというものがあることは紹介しました。今回は、jupyter notebookを使ってプログラムを記述する方法を書いていきたいと思います。上記の投稿をまだ読んでいない方は、先にそちらをざっと読んでいただいた方が良いと思います。 […]