Pythonとは?

PythonはGuido van Rossum氏により作成された軽量プログラミング言語(スクリプト言語)です。オープンソースで開発されており、プログラムを書くのも実行するのも無料で行うことが出来ます。また、Pythonは日本語に直訳すると「ニシキヘビ」であり、事実Python関係のアイコンは蛇のものが多いです。

Pythonのアイコン

さて、この軽量プログラミング言語とは、記述や取り回しが容易で、プログラム実行の際にはコンパイルが必要ない等の特徴があり、C言語のような古い言語と比べ、ササっと書けて、やりたいことがすぐできる言語です。
一例として、プログラマーが最初に書くプログラムとして知られるHello World!プログラムのソースコードを、C言語とPythonで比較してみましょう。

C言語

Python

お題がそもそも簡単なのですが、PythonではC言語の様にmain関数を作る必要すらなく、記述にあたって考えることも少なくて済みます

ソースコードが多くなればなるほど、誤字脱字による思わぬエラーや、可読性の低下を招いてしまいますが、その点Pythonは比較的スマートな記述と、文脈の判断にインデント(文頭の空白)の数を用いるといった仕様のため、必然的に綺麗なソースコードの書き方を覚えることが出来ます。

事実、Pythonは習得のしやすさから、プログラミング教育で使用され成功を収めているという話を聞きます。

また、米のプログラマ、Eric Steven Raymondの「ハッカーになろう(How To Become a Hacker)」においても「まずはPythonを」と推薦されているほどです。
(注:別にハッカーになる必要はありません。学び初めに適していることを示しています)

他の言語との比較

C言語やJavaのようなコンパイルが必要な言語と、Pythonではどのような違いがあるのかを簡単にまとめてみました。

C, JAVA Python
長所
  • 実行速度が早い
  • コンパイルの必要が無いため待たずに実行できる
  • 多少のエラーは融通がきく
  • 文字列の操作が得意
短所
  • 規模によってはコンパイルに時間がかかる
  • エラーがあるとコンパイルできない
  • 文字列の操作が比較的苦手
  • CやJAVAに比べて遅い

とにかく実行速度が必要なプログラムの場合、CやJavaのように、コンパイルして最適化するのが一番ですが、Pythonでは記述の容易さからプログラム作成時間を短縮させることが不可能ではなく、簡単なコードであればPythonでささっと作って動かした方が効率的な場合だってあります。

また、同じ軽量プログラミング言語として、PerlやRubyと比較されがちですが、簡単に特徴をまとめると以下のようになります。(Python贔屓と言われればそうかもしれません、すみません)

Perl Ruby Python
特徴
  • Ruby, Pythonと比べ歴史がある
  • ノウハウ、ライブラリが豊富
  • Ruby, Pythonと比べ可読性が悪い
  • 比較的新しく良いとこどり
  • 日本人が開発したため日本語ドキュメントが豊富
  • 国内の自治体向け業務システム等で使用実績あり
  • ソースコード中にendがいっぱい
  • 比較的新しく良いとこどり
  • 世界的にRubyよりPythonユーザーが多い
  • NASA, Google, KEK(高エネルギー加速器研究機構)等で使用実績あり
  • インデントで制御

Pythonのバージョンについて

Pythonはそのバージョンによって、主にPython 2とPython 3に分けることができます。Python 3の方が新しく、より使いやすくなったのですが、Python 2のコードと一部互換性がなくなってしまい、モジュールと呼ばれる追加機能の移行が遅々としていたり、過去の遺産が使えなくなってしまったため、なかなか移行しずらい状態でした。最近はほとんど必要なモジュールが移行された、もしくは新しいモジュールが開発されていることから、ここではPython 3を使用します。

プログラミングの心得

プログラミング初心者が守るべき3つのこと

1. 出来るだけツール(エディタ)に頼る
「プログラムなんてテキストエディタで十分だよ」と言う人もいると思いますが、慣れないうちは出来るだけ専用のエディタを使った方がいいです。シンタックスハイライターと呼ばれる、コードに応じた自動的な文字の色付や、誤字脱字や構文のチェックといった基本的な機能から、関数の説明やデバッグツールなど、多くの恩恵を受けます。
2. とにかくコメントを残す
プログラムを書いている間はきっと大丈夫でしょうが、翌日、もしくは一週間後、一ヶ月後、同じプログラムを少しパラメータを弄って使いたくなった時、ソースコードだけで何が書いてあるか判るでしょうか?
時間が十分にあり、1つ1つ読み解いていけば判らないことはないです。しかし、コメントが残っているだけで読み易さが格段に変わります。
未来の自分のため、そして同じプログラムを使うかもしれない誰かのために、コメントは残しましょう。
3. 弄る前にバックアップを残す
ある程度うまく動いているけど少し改良しようとか、ソースコード中のパラメーターを弄りたいなと思ったら、まずはバックアップをとりましょう。難しく考えることはありません、プログラムが1つのファイルだけで出来ているのならそのファイルを、複数のファイルで出来ているのであればフォルダ毎コピーして、名前を変えて残しておけばいいだけです。
もっとスマートにバックアップをしたいという場合は、バージョン管理ソフトというものを探してみて下さい。