NekketuLabs>Python>1 Pythonとは
このエントリーをはてなブックマークに追加 Share on Facebook

1 Pythonとは

1.1 Pythonとは

Pythonとは、Guido van Rossum氏が開発したフリーのプログラミング言語で、オブジェクト指向をサポートするスクリプト言語です。最近では軽量プログラミング言語(Lightweight Language,LL)の一つとして、Perl、PHP、Ruby、JavaScriptと共にカテゴライズされることが多いのですが、これらの言語に比べて日本では今ひとつ知名度が低いため、名前は聞いたことあるけどよく知らないという場合がよくあります。

とはいえ、開発者のGuido van Rossum氏がGoogleに勤務していることもあり、Google App Engine(GAE)でサポートされた最初の言語となったことから、ある書籍では「Google言語」とも呼ばれ、注目度が上がってきていることも事実です。そもそも海外では、Pythonは人気のプログラミング言語の一つでもあります。

1.2 Pythonの特徴

Pythonの特徴を下記に示します。Pythonを学んでいくうちに、これらの特徴がいかに強力で、目的を達成するために無駄な実装をせずに済むかがわかってくることでしょう。

1.3 Pythonの種類

Python(インタプリタ)には、いくつかの種類がありますが、主に利用されるのは下記の三つです。

Python(CPython)

オリジナルのCで書かれたバージョンです。通常「Python」といえばこのCPythonを指しますが、下記二つと比較してCPythonと呼ぶことがあります。

Jython

JVM(Java仮想マシン)上に移植したものです。Javaのライブラリを使うことができるため、自作したクラスのテストやJavaで開発したツールへの組み込み等をする際に便利です。

IronPython

.NET Frameworkで動作するPythonです。.NET Frameworkのライブラリを使うことができるため、Jythonと同様、.NET Frameworkとの連携時に便利です。

1.4 Pythonのバージョン

これを執筆している時点(2009年8月)において、私が利用をお勧めするバージョンは2.5.Xです。

最新バージョンは、3.1で、通常アプリケーションやランタイムをインストールする際は最新バージョンを入れておけばよいことが多いのですが、Pythonは、バージョン2系から3系の変更が後方互換性を崩す非常に大きなものであったため、サードパーティー製のライブラリ等の対応がまだできておらず、利用するのは得策ではありません。

もちろん、学習目的に3系を入れるのはアリですし、どのような変更が行われたかは知っておくべきですが、実際に今、開発サーバとしているLinuxでスクリプトを動かしたいなど、実用を考えているのであれば、3系への移行を踏まえつつ、2.5で動作する実装をするのがベターと言えるでしょう。なお、実際に移行するとなった場合は、移行ツール(もちろんPythonスクリプト)が提供されているので、これを利用し、機械的に修正できないものを手動で修正するという手順になると思います。

上述の経緯については、下記@ITの記事が参考になりますので、一読されることをお勧め致します。

よりPythonicなPythonを目指して - @IT

Python2.6,2.7系について

Pythonには2.6系という3系への移行準備バージョンが存在し、また、3.1系に実装された機能をバックポートした2.7系があり、これが2系における最終のバージョンとなります。それでは、なぜ私が2.6/2.7系ではなく、2.5系をお勧めしているかというと、2.6より、Python自体のコンパイラが変更されているからです。

私が2.5から2.6へ移行して問題となったケースとしては、py2exeというPythonスクリプトを実行ファイルへ変換するライブラリを使用していたときのことです。このライブラリを利用して、Pythonをインストールしていない人にPythonで開発した自作ツールを渡したところ、C++の新しいランタイム(Microsoft Visual C++ 2008 再頒布可能パッケージ)がインストールされていない環境では動作せず、別途MSのサイトからインストールしなければならなくなりました。これでは、せっかくPythonがインストールされていない環境へ配布するという目的を達成できなくなるため、2.5へバージョンを戻したことがありました。

もちろん、2.6ではmultiprocessingという並列処理が可能なライブラリやJSONを扱うライブラリの追加という魅力はあるのですが、これらは2.5でも動作するようにバックポートされており、別途インストールも可能なため、ここでは2.5系をお勧めすることにしました。なお、自分以外の環境で動かす必要がない場合は、2.7系最新版で問題ないと思います。(2011/09/13追記)

1.5 Pythonistaって?

ネットでPythonの記事を見ていると出てくるのが「Pythonista(ぱいそにすた)」という言葉です。これは言ってしまえば、Pythonを好んで使う人、とか愛好者という意味で、同様にRuby愛好者を「Rubyst(るびいすと)」、Perl愛好者を「Perler(ぱーらー)」と呼んでいたりします。

こういう言葉って、知ってしまえばどうということはないのですが、コミュニティで使われて定着したりしているので、入門者には?な感じなことが多いので、一応解説してみました。

ちなみに、Pyhonistaと同じように、「これはPythonらしい実装だよね」というのを「これはPythonicだね」なんて言うこともあります。

Python Link
Sponser
ITPro News
@IT News
License
Creative Commons License
このサイトにおける作品は、原則としてクリエイティブ・コモンズ・ライセンスの下でライセンスされています。なお、個別にライセンスを設定している場合はそのライセンスに従います。
Sponser

sponser
MOONGIFT News
Lifehack News
Codezine News
Powerd By
SOY CMS
Valid XHTML 1.0 Transitional