IronPythonとは
.NET FrameworkおよびMono上で動作するPythonの実装です。
特徴としては、
- Python文法。
- 以下のプログラムをシームレスに利用することができます。
- .NET Frameworkの持つ多数のクラスライブラリ
- C#言語のライブラリ
- CPythonのライブラリの一部
- CPythonコードで書かれたものなら従来のPythonのプログラム資産
- C言語で作成されたdll(ctypes利用)
何でも出来そうなイメージですが、残念ながら「ライブラリをPIPすれば何だって出来る」というCPythonのような万能感はありません。特に、「NumPy(数値計算を効率的に行うための拡張ライブラリ)」、「SciPy(数学、科学、工学のための数値解析ライブラリ)」、「matplot(グラフ描画ライブラリ)」が使えないのは残念です。
とは言っても
- WPF + XAMLによるGUIの作成
- MVVMパターンの利用
- C#言語ライブラリのスクリプト化
など、面白い使い方ができます。
「IronPython VS CPython」なんて図式を思わず考えてしまいますが、Python文法でできる領域を増やしてくれる便利な仲間だと私は思っています。
ちなみに
Pythonで言うモジュール・パッケージ・ライブラリは以下のような違いがありますが、本記事ではライブラリと言うことにします。(C#のライブラリも話題にするので)
- モジュール:pyファイルのこと
- パッケージ:モジュールが集まったもの
- ライブラリ:複数のパッケージを一つのライブラリとしてインストールできるようにしたもの