もしも大規模なシェル・スクリプトを書いたことがあるならば, 多分こんな感覚を君は知っているだろう。もう一つ機能を加えたいのに, もう既にとても遅く,とても大きく,とても複雑になってしまっている。あるいは, C からしかアクセスできないシステム・コールか何かの関数をその機能が必要と している…。 たいてい手もとにあるその問題は, 可変長の文字列か (ファイル名のソート済みリストのような) 何かのデータ型を必要としているため, シェルでは簡単なのに C での実装は大仕事になったり, あるいは君が C にあまり慣れていなかったりで, スクリプトを C で書き直していたのでは深刻すぎて引き合わない。
もう一つの場合として,あるいは君はいくつかの C ライブラリを使って 作業しなくてはならないが,通常の C の書込み/コンパイル/テスト/再コンパイルの サイクルでは時間がかかりすぎるかもしれない。 ソフトウェアをもっと素早く開発する必要があるというわけだ。 あるいはことによると君は拡張言語を使うことのできるプログラムを書いているが, 一つの言語を設計し,そのインタープリタを書いてデバッグし,そして それを君のアプリケーションにくくりつける,ということまでは, やりたくないかもしれない。
そんな場合,Python が君にふさわしい言語かもしれない。 Python は簡単に使えるが, 本物のプログラミング言語 (real programming language) であり, 大規模プログラムのためにシェルよりもずっと多くの構造とサポートを提供している。 他方,Python はまた C よりもずっと多くのエラー検査を提供し, そして,超高水準言語 (very-high-level language) として, C で効率良く実装しようとすると何日もかかってしまうフレキシブルな配列や辞書 などの高水準データ型を組込みにしている。 その一般性の高いデータ型のおかげで Python は Awk あるいは Perl と 比べてさえずっと広い問題領域に適用可能だが, それでもなお多くのことがそれらの言語と少なくとも同じくらいに簡単だ。
Python はプログラムを,別の Python プログラムで再利用できるように,モ ジュールに分割することを可能にしている。Python には大規模な標準モジュー ルのコレクションが付いて来る。君はこれを自分のプログラムの基礎として -- または Python でのプログラミングの学習を始めるための例題として -- 利用することができる。ファイル I/O, システム・コール,ソケット,さらに は Tk のような グラフィカルユーザインターフェース(GUI) ツールキットへ のインタフェース等を用意する組込みモジュールもある
Python はインタープリタによる言語である。コンパイルもリンクも不要だから, 君はかなりの時間をプログラム開発のあいだ節約できる。 インタープリタは対話的に使用できるから,たやすく言語の機能を試したり, 使い捨てプログラムを書いたり, ボトムアップにプログラムを開発している途中で関数をテストしたりできる。 インタープリタはまた手頃な卓上計算機にもなる。
Python はとてもコンパクトで読みやすいプログラムを書くことを可能にしている。 Python で書かれたプログラムは, 等価な C や C++ のプログラムよりも典型的にはかなり短い。 なぜなら,
Python は拡張可能 (extensible) である。つまり, もし君が C でプログラムを作る方法を知っているならば, インタープリタに新しい組込みの関数やモジュールを追加して, クリティカルな演算を最大の速度で実行したり, バイナリ形式でしか入手できない (ベンダ固有のグラフィクス・ライブラリ などの) ライブラリに Python プログラムをリンクさせることはたやすい。 君がその気になれば, C で書かれたアプリケーションの中に Python インタープリタをリンクして, Python をアプリケーションの拡張言語ないしコマンド言語として使うこともできる。
なお,この言語の名前は BBC のショー ``Monty Python's Flying Circus'' に ちなんだものであり,不快な爬虫類とは無関係である。 Monty Python のスキットをドキュメンテーションの中で引用することは 差し支えないどころではない。それは推奨されている!
さて君たちは皆 Python にエキサイトして, もっと詳しく調べてみたくなったことだろう。 言語を習う最良の方法はそれを使うことだから,ここではそうすることを勧める。
次の章ではインタープリタを使う操作手順を説明する。 これはかなりお約束な情報だが,あとで示される例を試してみるためには欠かせない。
チュートリアルの残りでは Python の言語とシステムのさまざまな機能を例を 通して紹介する。簡単な式と文とデータ型から始め,関数とモジュールを経て, 最後に例外や利用者定義クラスのような高度な概念に触れる。
See About this document... for information on suggesting changes.