辞書を引けばわかりますが,Pythonは‘パイソン’と読みます。意味は,ニシキヘビ,大蛇といったところです。 この名は,Pythonの開発者である Guido van Rossum氏が大ファンであるBBCのコメディ番組 Monty Python's Flying Circus に由来するそうです。 開発者の Guido van Rossum氏:
|
Pythonの特徴としては,
オブジェクト指向プログラミングができます(オブジェクト指向の特長についてはここでは語りませんが)。多重継承もサポートしています。
インタプリタで動作しますから,実行を対話的に行うことができます。もちろん,事前にプログラムを組んでおけば,スクリプトとしても動きます。ソースコードを書いたら(修正したら),それをすぐ実行できます。
変数の宣言は要りません。プログラムをサクサク書くには便利です。変数には,任意の型のオブジェクトを代入できます。
多倍長整数,複素数,タプル(オブジェクトを並べた組;(x,y)のようなもの),リスト,辞書(一般的な用語では,連想リスト)といったデータ型が用意されています。
参照できなくなったオブジェクトは,自動的に回収されます。プログラマは,メモリ管理の責任から解放されます。ポインタがありませんので,Javaのような感じです。
プログラムは,バイトコードに変換され,バイトコード・インタプリタ上で動きます。
機能拡張や効率改善,プロトタイピングなどに有用です。
ソースコード,およびバイトコード化されたモジュールは,プラットフォームに依存しません。そのプラットフォームにしかない機能を使っていれば別ですが。
ちょっとしたツールを作ったり,ウィンドウ・プログラミングなどが簡単にできます。
とにかくタダです。
ポーティングやカスタマイズなどができます。ライブラリのソースも公開されていますから,サンプルや勉強の材料になります。
逆にイマイチの点としては,
なんせバイトコード・インタプリタ上で実行されますから…
型は動的に決まるので,静的な型の検査ができません。これは,デバッグ作業以前のバグ取りには不向きな点です。
属性やメソッドなどは,原則としてpublicです(一部,privateもどきの使い方ができますが)。アクセス制御はプログラマに任されています。
文字列は8ビット・クリーンなので読み込んだデータを単なるバイト列として使うことはできますが,一般には,文字列定数に日本語は書けないのです(書けるものも多いですが)。有志によって,日本語対応(日本語を含んだ文字列を扱えるようにする)が行われていますが,やはり,ご本家で対応してもらわにゃ…
Pythonは,使い捨てのちょとしたツールを書くことや,RAD(Rapid Application Development)に向いています。一方,パッケージ化機能などもありますので,大規模なプログラム開発にも適用できるのです(^_^)
私がとても気に入っている点は,文法です。 CとかJavaとかでは,ブロック(複合文)を表現するのに{ }やbegin-endを使いますね。Pythonでは,字下げを使います。ブロックだから字下げするのではなく,字下げしてあるからブロックなのです! 例えばCで, と書いてしまったら,s2は外側のifのelseに見えますね。実は,s2は内側のifのelseです。 Pythonで書くとどうなるかというと, と書けば,s2は外側のifのelseで と書けば,s2は内側のifのelseです。なんと明解ではありませんか! |