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

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

あなたがプロのソフト開発者として、C/C++/Java ライブラリを扱う必要があ
るけども、通常の編集/コンパイル/テスト/再コンパイルのサイクルを遅すぎ
ると感じているかもしれません。上記ライブラリのためのテストを書くことに
うんざりしているかもしれません。または、拡張言語を持つアプリケーション
を書いているなら、そのために新しい言語一式の設計と実装をしたくないでし
ょう。

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

You could write a Unix shell script or Windows batch files for some of
these tasks, but shell scripts are best at moving around files and
changing text data, not well-suited for GUI applications or games. You
could write a C/C++/Java program, but it can take a lot of development
time to get even a first-draft program.  Python is simpler to use,
available on Windows, macOS, and Unix operating systems, and will help
you get the job done more quickly.

Python は簡単に利用できますが、本物のプログラミング言語であり、シェル
スクリプトやバッチファイルよりも多くの機構があり、大きなプログラムの開
発にも適しています。一方では、Python は C よりたくさんのエラーチェック
を実行時に行っており、また可変長配列や辞書などの高級な型を組込みで持つ
*超高級言語(very-high-level language)* です。Python は Awk や Perl な
どよりも汎用的なデータ型を備えており、より多くの領域で利用できます。ま
た、Pythonはこれらの言語と比べても、少なくとも同じぐらいには簡単です。

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