- 公開日: 2018年11月01日
【Python入門】Pythonコードの実行方法をまとめてみた
Pythonの学習を進めていくと、最初は Jupyter Notebook を使ってコードを書いていたのに、途中からテキストエディタを使って書くようになったりして、コードを書く環境が変わることがあるでしょう。
また動画などでPython学習していくと PyCharm や Visual Studio などのIDE(統合開発環境)を使ってコードを書いていることも。
そこで今回は、いろいろあるPythonの実行方法を調べてみました。
学習初期の方、これからPythonをはじめようとしている方、ご参考頂ければ幸いです。
【Python入門】Pythonコードの実行方法をまとめてみた
Pythonコードを書く・動かす方法一覧
おそらく多くのPython初学習者は、参考書やスクールから推奨される環境でPythonコードを書いて実行していると思います。 例えば、Jupyter Notebook や コマンドもしくはターミナルから。
<< Jupyter Notebook >>
<< Windows コマンド画像 >>
はじめの内は指導要領に従ってコードを書く・実行するツールを使うことが一番と思いますが、それ以外にも以下のようなツールでPythonを書いたり、実行したりすることが可能。
<< Pythonを実行できるツール例 >>
- Jupyter Notebook
- コマンドライン(ターミナル)
- テキストエディタ
- IDE(統合開発環境)
- オンライン
それぞれのツールについてご紹介していきます。
Jupyter Notebook
こちらは多くのPython参考書やチュートリアルで推奨されている定番ツール。 インストールがまだの方は、1〜2時間ほど時間がある時にインストール試してみて下さいね。
<< メリット >>
- 使用するOSやブラウザに関係なく同じような使用感
- エラーの表示がやさしい・分かりやすい
- よく使うライブラリが既にインストール済み
- 処理スピードを損なわない(注1)
<< デメリット >>
- Anacondaのインストールが必要
- 変数などは上書きされていく
<< 便利機能 >>
機能 | 内容 |
---|---|
コードの自動入力 | 閉じカッコ程度 |
自動インデント | ○ |
実行前のエラー喚起 | ☓ |
実行前のファイル保存 | 不要、即実行可 |
上記以外にもテキストエディタ機能やJupyter Notebook内でコマンドプロンプトを起動させる機能も存在。
<< 使用感 >>
私の場合、Pythonの学習をする時、パソコン起動後に必ず立ち上げるのが Jupyter Notebook。 とにかく直ぐにコードをかけて実行できるのがいいですし、コードの配色もキレイ。 ただしオブジェクト指向やアプリ開発のプロジェクトなど複数のファイルが伴うプログラムの場合は、あまりオススメできません。 ファイル管理の使い勝手がIDEなどに比べると劣ります。 Jupyter Notebookまだの方、とりあえず使ってみて下さい。
コマンドプロンプトもしくはターミナル
Windowsの場合はコマンドプロンプト、MacやLinuxの場合はターミナルでPythonが実行可能。 OSによってデザインや使い勝手は違いますが、どちらにも共通する点を紹介しますね。
<< メリット >>
- Anacondaが不要、Python.orgからのPythonインストールのみで使用可
- 直ぐにコードを実行できる
- エラー発生時も純粋に自分のコードを疑える
(Jupyter Notebookなどの場合、ブラウザや上書き機能による影響などコード以外の原因を考えてしまいます。エラーの時って自分を責めたくないんですね。)
<< デメリット >>
- 見づらい
- コードを修正できない
- コードを保存できない
- Pythonファイルを開けない
- インデント(空白)を自分で書く必要がある
<< 便利機能 >>
機能 | 内容 |
---|---|
コードの自動入力 | ☓ |
自動インデント | ☓ |
実行前のエラー喚起 | ☓ |
実行前のファイル保存 | 不要、即実行可 |
<< 使用感 >>
オライリーのPython入門書で、コマンドプロンプトを使ったサンプルがよく紹介されていますね。 簡単な10行程度のコードを書いて実行するのはいいのですが、さすがに20行などになってくるとコードの編集・管理が面倒です。 しかし、コマンドプロンプトからのPython実行は、今回ご紹介する実行方法の中で一番プログラミング感がありますね。
テキストエディタで
オブジェクト指向やモジュールの学習段階に入ってくると、ファイルベースでPythonコードを管理・実行する方が楽でしょう。 どのテキストエディタのソフトを使うかによっても作業効率は違うと思いますが、ここではMicrosoft社提供の Visual Studio Code を使った場合の例で紹介させて頂きます。
(( Pythonを書ける・実行できるテキストエディタの例 ))
- Visual Studio Code
- Atom
- Notepad++
- Sublime Text 3 等
<< メリット >>
- 規模の大きいプログラムも管理・処理できる
- コードの補助機能が便利(自動的に閉じカッコが表示されるなど)
- コードエラーの事前喚起
- 見やすいコードの配色
- 自動保存機能
- 公開中のサンプルプロジェクトを編集できる
<< デメリット >>
- インストールおよびコード実行環境の準備が必要
- どのソフトを使うか迷う
- コード実行前にファイル保存が必要
<< 便利機能 >>
機能 | 内容 |
---|---|
コードの自動入力 | ○ |
自動インデント | ○ |
実行前のエラー喚起 | ○ |
実行前のファイル保存 | 必要 |
<< 使用感 >>
オブジェクト指向型のPythonプログラムを作成・編集する場合、テキストエディタは欠かせませんね。 IDE(統合開発環境)に比べると軽量でタイピングしやすく、小〜中規模程度のプログラム管理にむいていると思います。 ただし、 input()関数などを用いたプログラムを実行すると、ソフトウェアのバックグラウンドで実行モードが起動しっぱなしになることも。 プログラムを実行しても「既に起動されています」と表示されていると、ちょっとイラッとします。
IDE(統合開発環境)
Webアプリのチュートリアルなどでよく出てくるPyCharmなどのIDE。 小規模から大規模開発まで幅広くカバーしてくれるIDEですが、Pythonの場合IDEたくさんあります。
<< IDEの例 >>
- IDLE
- Jupyter Qt Console
- Jupyterlab
- Spider
- PyCharm
- Visual Studio
- Xcode
ちょっと多いですね。Javaだったら Eclipse や Android Studio、Webだったら NetBeans や Visual Studio と数種類で迷うことも少ないのですが、Pythonの場合は迷います。
まずはIDEとしてのメリット・デメリットをご紹介して、その後にそれぞれの IDE について簡単にご紹介させて頂きますね。 尚、IDEのメリット・デメリットには PyCharm を例にご紹介。
<< IDEのメリット >>
- 自動入力や自動エラー表示などの豊富な機能
- 見やすいファイル管理
- 見やすいコードの配色
- ライブラリのインストールが簡単
- チームでプロジェクト管理できる
<< IDEのデメリット >>
- インストールが必要
- ソフトの容量が大きい(空 1.5GB必要など)
- はじめはとっつきにくい操作画面
<< 便利機能 >>
機能 | 内容 |
---|---|
コードの自動入力 | ◎ |
自動インデント | ○ |
実行前のエラー喚起 | ○ |
実行前のファイル保存 | 不要、即実行可 |
IDE毎の特徴
以下にIDE毎の違いをご紹介。尚、Visual Studio と Xcode については、Python専用ではないため割愛させて頂いております。
IDE | インストール | 表示言語 | 入力補助機能 | ファイルのタブ管理 |
---|---|---|---|---|
Jupyter Qt Console | Anacondaに付属 | 英語 | ☓ | ○ |
Jupyterlab | Anacondaに付属 | 英語 | 閉じカッコぐらい | ○ |
Spyder | Anacondaに付属 | 日本語 | 閉じカッコぐらい | ○ |
IDLE | 個別インストール | 英語 | ☓ | ☓ |
PyCharm | 個別インストール | 英語 | ◎ | ○ |
Jupyter Qt Console
Jupyter Qt Consoleは、コマンドプロンプトおよびターミナルの機能拡張版、といったところです。 Pythonコードの入力・実行環境は、コマンドと同じですが、タブでコードを管理できたり、プリントアウト機能がついていたりします。
Jupyter lab
Jupyter lab は、Jupyter Notebook をベースに開発されたソフトで、プロジェクトの管理性が増しています。 Pythonと合わせて、CSVやTEXT、イメージ画像など他のファイルと合わせてJupyter Notebookを使う時に良さそうです。
Spyder
SpyderはIDEらしい画面レイアウトで、コードの編集と実行結果、それから使用変数の確認画面を一度に見ることができます。 ただし、Webアプリケーションの開発などで行う「プロジェクトの作成機能」は備わっていません。
IDLE
IDLEは非常にシンプルなIDEで、一見するとコマンドプロンプト(ターミナル)のような操作画面。しかし、Pythonファイルを開いて実行できたり、置換や検索など基本的な機能も搭載。 ただし、プログラム・ファイルをタブで管理することができないので、複数のファイルを操作する場合はアプリアイコンが多数表示されるので、操作性に難を感じるでしょう。
PyCharm
PyCharmはこの中で一番強力なIDEで、インストールがまだの方はお試ししてみて下さい。 強力なコード入力の補助機能に加えて、バグポイントやバグ内容の表示。 また年間199ドル払えばFlaskやDockerなどのフレームワークも直ぐに使え、チームでプロジェクトを管理できるプロ用のソフトになります。 無料プランでも十分楽しめますのでオススメです。
ここまでIDEについていろいろご説明しましたが、コードと実行、デバグなどIDEとしての基本機能を求めるなら、とりあえずPyCharmの使用をお勧めます。
オンラインで
Pythonというとパソコンのローカル環境で実行するイメージが強いですが、オンラインでも実行環境が整ってきています。 「とりあえずコードを動かしたい」「コードをシェアしたい」という時に便利。
<< メリット >>
- Pythonの実行環境がないパソコンでもプログラミング可能
- 開発環境の構築がいらない
- コードをシェアできる
<< デメリット >>
- Pythonプログラムの実行速度が遅い
- importできないモジュールやライブラリもある
- 概ねユーザー登録が必要
<< 便利機能 >> repl.it の場合
機能 | 内容 |
---|---|
コードの自動入力 | ○ |
自動インデント | ○ |
実行前のエラー喚起 | ○ |
実行前のファイル保存 | 不要、即実行可 |
オンラインでPythonできるサービス例
オンラインサービス | 内容 |
---|---|
python.org | コマンドプロンプト |
Online GDB | テキストエディタ |
ideone.com | テキストエディタ |
Microsoft Azure Notebooks | Jupyter Notebook |
repl.it | IDE |
codeanywhere | クラウド型IDE |
Codenvy | クラウド型IDE |
<< 使用感 >>
いくつかあるPythonのオンライン実行環境で、私はよく repl.it を使います。シンプルな操作画面に、コードの自動チェック機能、ライブラリやモジュールの自動インポート機能。結構Pythonが楽しくなるでしょう。 ただし、Pythonの処理スピードはローカル環境に比べると落ちます。
\AIエンジニアに必要なスキルが身に付く/
まとめ
今回Pythonの実行方法を 5 種類ご紹介さて頂きました。 それぞれ特徴や設定が必要などありますが、個人的にはとりあえず 5 種類すべて試してみることを勧めます。
Pythonの実行環境以前に、Python学習について不安でしょうか?「自分でもできるかな?」「みんなどうやってPythonを学習しているんだろうか?」「スクールってやっぱり高いのかな?」一度よかったら CodeCamp の無料体験レッスンや問い合わせで自分の悩みをぶつけてみませんか?体験レッスンの段階でも先生を選べますので、自分の悩みに答えてくれそうな先生を探してみてはいかがでしょうか?
【注1】各ツールの処理速度計測について
各ツールのPython実行速度は、以下のコードでテスト。
import time
def sum_of_n_numbers(n):
start_time = time.time()
s = 0
for i in range(1,n+1):
s = s + i
end_time = time.time()
return s,end_time-start_time
n = 100000000
print('1から',n,'までを足し続けると、計算結果及び所要時間は以下の通り\n', sum_of_n_numbers(n))
<< 結果 >>
方法 | 処理にかかった時間(秒) |
---|---|
Jupyter Notebook | 4.9 |
ターミナル | 4.99 |
テキストエディタ | 4.96 |
IDE | 4.4 |
オンライン | 18.5 |
ターミナル:Ubuntu 16.04
テキストエディタ:Visual Studio Code
IDE:PyCharm
オンライン:repl.it
- この記事を書いた人
- オシママサラ