#
1 やる気を高めよう

コンピュータ上で様々な仕事をしているなら、自動化したい仕事があることに 気がつくでしょう。たとえば、たくさんのテキストファイルで検索-置換操作を 行いたい、大量の写真ファイルを込み入ったやりかたでリネームまたは整理し たいといったものです。 ひょっとすると、小さなカスタムデータベースや、何かに特化したGUIアプリケー ション、シンプルなゲームを作りたいかもしれません。

もしあなたがプロのソフト開発者なら、C/C++/Java　ライブラリを扱う必要 があるが、通常の write/compile/test/re-compile サイクルが遅すぎると感 じるかもしれません。 ひょっとするとそのようなライブラリのテストスイートを書いていて、 テスト用のコードを書くのにうんざりしているかもしれません。 拡張言語を使えるプログラムを書いていて、アプリケーションのために新しい 言語一式の設計と実装をしたくないと思っているかもしれません。

Pythonはそんなあなたのための言語です。

それらの作業を Unix シェルスクリプトや Windows バッチファイルを書く こともできますが、シェルスクリプトはファイル操作やテキストデータの操作 には向いていますがGUIアプリケーションやゲームにはむいていません。 C/C++/Java プログラムを書くこともできますが、最初の試し書きにすらか なりの時間がかかってしまいます。Pythonは簡単に利用でき、Windows、 MacOS X、そして Unix オペレーティングシステムで動作し、あなたの 仕事を素早く行う助けになるでしょう。

Pyhonは簡単に利用できますが、本物のプログラミング言語であり、 シェルスクリプトやバッチファイルで提供されるよりも たくさんの大規模プログラムむけの構造や支援を提供しています。 一方、PythonはCよりたくさんのエラーチェックを提供しており、 超高級言語(very-high-level language)であり、可変長配列や辞書な どのハイレベルな型を組込みでもっています。 そのような型は一般的なため、PythonはAwkやPerlが扱うものより (多くの場合、少なくともそれらの言語と同じくらい簡単に)大規模な 問題に利用できます。

Python ではプログラムをモジュールに分割して他の Python プログラムで再 利用できます。Python には膨大な標準モジュールが付属していて、プログラ ムを作る上での基盤として、あるいは Python プログラミングを学ぶために利 用できます。組み込みモジュールではまた、ファイル I/O 、システムコール、 ソケットといった機能や、Tk のようなグラフィカルユーザインタフェースツー ルキットを使うためのインタフェースなども提供しています。

Python はインタプリタ言語です。このため、コンパイルやリンクが必要ない ので、プログラムを開発する際にかなりの時間を節約できます。インタプリタ は対話的な使い方もできます。インタプリタは対話的にも使えるので、言語の 様々な機能について実験してみたり、やっつけ仕事のプログラムを書いたり、 ボトムアップでプログラムを開発する際に関数をテストしたりといったことが 簡単にできます。便利な電卓にもなります。

Python では、とてもコンパクトで読みやすいプログラムを書けます。Python で書かれたプログラムは大抵、同じ機能を提供する C 言語, C++ 言語や Javaの プログラムよりもはるかに短くなります。これには以下のようないくつかの理 由があります:

- 高レベルのデータ型によって、複雑な操作を一つの実行文で表現できます。
- 実行文のグループ化を、グループの開始や終了の括弧ではなくインデントで行えます。
- 変数や引数の宣言が不要です。

Python は 拡張 できます: C 言語でプログラムを書く方法を知ってい るなら、新たな組み込み関数やモジュールを簡単にインタプリタに追加できま す。これによって、処理速度を決定的に左右する操作を最大速度で動作するよ うに実現したり、(ベンダ特有のグラフィクスライブラリのように) バイナリ 形式でしか手に入らないライブラリを Python にリンクしたりできます。その 気になれば、Python インタプリタを C で書かれたアプリケーションにリンク して、アプリケーションに対する拡張言語や命令言語としても使えます。

ところで、この言語は BBC のショー番組、``モンティパイソンの空飛ぶサー カス (Monty Python's Flying Circus)'' から取ったもので、気味の悪い爬虫 類とは関係ありません。このドキュメントにあるモンティパイソンの寸劇は、 参照してもかまわないというより、むしろ積極的に見るようおすすめします！

#
1 ここからどこへ

さて、皆さんはもう Python にワクワクして、もうちょっと詳しく調べてみた くなったはずです。プログラミング言語を習得する最良の方法は使ってみるこ とですから、このチュートリアルではみなさんが読んだ内容を Python インタプリタで試してみることをおすすめします。

次の章では、まずインタプリタを使うための機微を説明します。これはさして 面白みのない情報なのですが、後に説明する例題を試してみる上で不可欠なこ とです。

チュートリアルの残りの部分では、Python プログラム言語と実行システムの 様々な機能を例題を交えて紹介します。単純な式、実行文、データ型から始め て、関数とモジュールを経て、最後には例外処理やユーザ定義クラスといった やや高度な概念にも触れます。