あざらしのPythonべんきょうにっき

Pythonの勉強に関する備忘録と時々趣味

Pythonの開発環境

Pythonの開発環境について

最初の記事は環境構築です。 LinuxMac OSとは異なり、WindowsではPython環境を自分で入れなければならないんだよねー

今までLinux環境でしかプログラミングをやったことがない私からすると。 開発環境?なにそれおいしいの?

みたいな感じになるよね。 ということで、環境構築を始めます。

その前に

ところでpythonにはPython2系と3系があります。 厄介なことに、こいつは相互互換できないものがあるということ?

しかし、最近の書籍は3系で書かれたものが多く、今後は3系にシフトするのではないかな…と ってことで、3系を入れることにするよ。

Anaconda

はい、早速強そうな名前がでてきました。Pythonを始めようとするとまずこんな単語が出てくると思います。 これは何かというと

Anaconda はデータサイエンス向けに作成された Pythonパッケージで、科学技術計算などを中心とした数多くのモジュールやツールが独自の形式で同梱されています。 macOSUnix環境では、ほとんどのモジュールがコンパイル済みパッケージを提供しているため、Anaconda を使わなくとも、通常の pip コマンドでも簡単に環境を構築できます。

しかし、Windows環境のように、簡単にインストール可能なモジュールが提供されていない環境で、機械学習などのためにPython を使用するなら、多くのモジュールがデフォルトでインストールされる Anaconda はとても便利です。 Anaconda - python.jp

というわけで、要は「今後使うであろう様々な計算ツール等を一括管理してやろう」という便利ものだね。

で、何でこの名前を出したかというと… こいつをインストールすると

  • Spyder
  • Jupyter Notebook

というものが追加でインストールされます(Windows 64bitバージョンだと)
で、今回はここに追加されたSpyderを使用したいと思います。 なぜなら新たにインストールする必要がなく、楽だから!!笑
Jupyterについてはまた使ってから書きたいと思います。

Spyder

ということで本題に入ります。
このSpyderというものが、統合開発環境IDE)の1つであります!
まだ、初心者なので、とりあえずこれを使う事にしますね。いいのがあれば教えてください。 f:id:azalatch:20180724095200p:plain

Spyder起動時画面

起動するとこんな画面が出てきます。ちなみに起動はとても遅い!!
この画面の左側のウィンドウは仮のスクリプトエディタ、右上は使用している変数のテーブル、右下がコマンドライン(コンソール)となっています。
各々は後程説明します。

早速書いてみる

ここでは、Spyderを使ったプログラムの書き方と実行方法に触れます。

直接打ってみる

まずは、直接コマンドラインにプログラムを書いて実行してみます。

In [1]:
と書いてある場所に以下のように打ち込みます。すると

f:id:azalatch:20180724100059p:plain
print関数で標準出力したときの結果
"あざらし"が出力されました、かわいいですね。
関数がどうこうってのは別に書きます、ここではあくまで使い方。

ということで、「対話型形式でプログラムは書けたけど、一々ここに打つのめんどくね?」 っていったとこで、左側のスクリプトエディタが火を噴きます。

スクリプトファイルの実行

それでは下図のように左のウィンドウにプログラムを書いて、F5キーで実行すると…

f:id:azalatch:20180724102126p:plain
スクリプトファイルの実行結果
右下に実行結果が出て、右上の"変数エクスプローラ"を見ると…なんか表がある……

そう、Spyderが便利だなと感じたのはここです!!
例えばプログラムのどこかでエラーが出てる or 意図していない値が出る…
ってときはここの変数を見ると解決できる。 matlabに雰囲気が似ていて使いやすいですね。

その他

ちなみにこのとき使用した、temp.pyは一次ファイルで閉じると消えてしまいます。
なので、保存したいときは新規作成(タブの紙のアイコンのやつ)で新規作成&保存することで実行可能だ!

また、この作業場所ってのは右上の窓に書いてるから場所が分からなくなったら参考にするといいよ。

おわりに

今回はPythonの開発環境であるSpyderについて紹介しました。
次回以降は具体的にプログラムについて書いていきます。

C言語経験があることから、多少説明不足があることもあるかと思いますがご了承ください。 以上!!