Python

先日大学院の授業を受講しているという話を書きましたが、その授業の中で「python」という言語を使う必要があります。早速インストールしてみました。というか、してもらいました。なかなか難しいんですこれが。

 

このpython、CやFORTRANとはだいぶ雰囲気が違います。まず、コンパイルがない。コードを書いたらそれがそのまま動きます。昔のBASICみたい。たいてい、こういう言語は処理が遅いんですが、pythonも例にもれず遅いそうです。が、ここからが面白いところで、pythonは外部のプログラムを呼び出して使うことができるんです。なので、数値計算など時間がかかるプログラムを動かす場合、計算の核となる部分、例えば行列演算などの部分をCで書いておき、それをpythonから呼び出して使うんだそうです。

 

授業では化学反応計算をやるために、CANTERAというライブラリ?(この辺の用語の定義がいまいち理解できてない)を使います。なのでこれをインストールするんですが、インストールする時にANACONDAというプログラムが必要になって・・という風にどんどん使うものが増えていって、訳が分からなくなります。結局、隣の研究室のpythonに詳しい学生に助けてもらってインストールしました。

 

その学生によると、ANACONDAの中にpythonが入っているので、先にpythonをインストールしてからANACONDAをインストールすると変なことになるとか。またANACONDAにはEnvironmentという謎の概念があって、これがまた初見殺し。これも解説してもらったところによると、1つのPCを複数のユーザーで使うようなイメージで、1つのANACONDAを複数のEnvironmentで使えるようにしてあるんだとか。例えば、pythonにはバージョンがあって、バージョン2と3では記述方法が異なり、2で動くプログラムでも3では動かないんだそう。そんな時、あるEnvironmentにはバージョン2をインストールしておき、もう一つのEnvironmentには3をインストールすれば両方使うことができるようになるそうです。

 

pythonはグラフを書くプログラムや、Excelなんかも呼び出すことができます。なのでExcelでグラフ化するところまで自動化できちゃうんですね。面白そうな言語です。