1. やる気を高めよう
*******************

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

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

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

それらの作業の幾つかは、Unix シェルスクリプトや Windows バッチファイル
で書くこともできますが、シェルスクリプトはファイル操作やテキストデータ
の操作には向いているもののGUIアプリケーションやゲームにはむいていませ
ん。C/C++/Java プログラムを書くこともできますが、最初の試し書きにすら
かなりの時間がかかってしまいます。Pythonは簡単に利用でき、Windows、Mac
OS 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)" から取ったもので、爬虫類とは関係あ
りません。このドキュメントでは、モンティパイソンの寸劇への参照が許可さ
れているだけでなく、むしろ推奨されています！

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

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

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