Pythonはプログラミング言語

Pythonは1991年に公開された比較的新しいプログラミング言語です。無料で利用することができます。いろんなプログラミング言語がある中でも世界的に人気が高く、人気ランキングでは2017年に5位、2018年に4位、2019年2月には3位と上位に挙げられます。

初心者の人が最初に扱う言語としては最適なプログラミング言語です。また他のプログラミング言語を利用したことがある方にとっても扱いやすく習得しやすいことが特徴です。

Pythonの人気が高いのは以下のような理由があります。

  • 習得が容易。
  • 文法が単純でコードが読みやすい。
  • OSはなんでもよい。
  • 主要なプログラミング言語と比較しても遜色のない性能がある。

習得が容易

Pythonは他の言語であれば1つの処理を行うために何行もコードを書かなければならないところを少ないコード量でシンプルに書くことが出来ます

C言語であれば#includeによるライブラリの参照などを自分で書かなければならず、また初心者にはそもそも#includeやライブラリの意味も理解するのに時間が掛かります。Java言語も同様でクラスとメソッドとプロパティの関係がルール化されておりコードが冗長化しやすい点があります。ところがPythonにはそのようなわずらわしさがありません。

最初に書くプログラミングとしては「Hello World!」がよく使われますが、C言語とJava言語とPythonで書いた場合の差が以下になります。Pythonがシンプルなのが分かります。

C言語でのHello World!

C言語で文字列を画面に出力したい場合は#includeで入出力ライブラリを参照しておく必要があります。また、処理は関数の中に含めておく必要があり、最低限でもmain関数は必須になります。

Java言語でのHello World!

Java言語は必ずクラスの中にあるメソッドの中に処理を書かなければならないルールがあります。また、クラスからメソッドまでの階層構造によりメソッドを書くためにクラス名から末端のメソッド名までを書く必要がありコードが冗長化する傾向があります。

PythonでのHello World!

PythonはC言語などと異なりライブラリの参照などをせずに文字列を標準出力したいときに出力できます。

文法が単純でコードが読みやすい

Pythonは複雑になりやすいプログラミング言語などがある中でも、コードが単純で読みやすいように設計されたプログラミング言語です。コードが単純なため、上に挙げた通り少ないコード量でやりたいことをシンプルに書くことが出来ます。

「コードが読みやすい」というのは、Pythonは決められた書き方しか出来ないため誰が書いても同じようなコードになるため、結果的に書きやすく読みやすいコードになることを意味します。

書き方を限定しているプログラミング言語はほとんどありません。むしろ自由に書けるプログラミング言語の方が大多数です。上に挙げたC言語やJava言語などを含め多くのプログラミング言語ではかなりの部分でプログラマーの自由に書けるように設計されています。

そのためプログラミングのルールがないまま書けばどんどん複雑なプログラムに仕上がります。そして「他人が書いたプログラムは読みにくい」という状況に陥りやすく、実際にそのような難解なプログラムに悩まされてきたプログラマーが多数います。そのため先人はコーディング規約を作ってプログラミング言語の自由度を縛ることでコードの読みやすさや保守性を守ってきました。

Pythonの場合はそのような苦労からかなり解放されます。

また、コードが読みやすいということは開発スピードにも直結します。以前は開発スピードはそこまで重要視されませんでしたが、現在のようにインターネットでの個人利用が当たり前で要求も多様化してくると無視できなくなってきています。

コードが読みやすいことは拡張のしやすさにも繋がります。

OSはなんでもよい

PythonはWindows、Mac、Linuxといった主要なOSであればどれでも使うことが可能です。

他にも多くのOSでサポートされており、ゲーム機のPlayStationやニンテンドーDSやXboxなどもサポートされています。

OSが異なってもコードの書き方は変わりません。実際に私自身もWindowsとMaxとLinuxの3つのOSでPythonのプログラムを書いていますが、書き方はどれも同じです。

主要なプログラミング言語と比較しても遜色のない性能がある

Pythonのようなスクリプト言語はC言語などのコンパイル型言語に比べると処理速度が遅いとされることがありましたが、現在ではパソコンの性能が当時と比べて格段に向上したことや1台のパソコンやサーバで処理せずに複数台を利用して並列で処理する技術が発展してきたこともあり、環境面も含めた総合面ではスクリプト言語とコンパイル型言語の処理速度の差は気にならない程度にまでなっています。

なお、PythonはC言語で作成されています。C言語は常に高速に動作させるためのプログラムを作るときには最優先で選択されるプログラミング言語です。そのためPythonもプログラミング言語としての実行スピードは高速に動作します。

Pythonを覚えるには

独学でもいい?

Pythonに限らずどのプログラミング言語でも覚えなければならないことがありますが、Pythonは覚えなければならないことがかなり少ないです。そのため自分に合った入門本を1冊購入し、最初から順に進めるだけでもかなりのことを覚えることが可能です。

上にも書いたとおりPythonは決められた書き方しか書けないので、それ以外の書き方を説明する必要がほとんどなく、書籍で「この書き方はあまり使わないのでページ数の都合で割愛します」みたいなことが減ります。

そのことから初心者であっても独学で十分身に着けられるプログラミング言語です。

何時間ぐらいかかる?

初心者であれば200時間から300時間もあれば基本的なことは一通りはできるようになります。

200時間や300時間という数字は実際に私が目にした経験からで、プログラミング未経験で入社した新入社員が先輩のフォローはありますが2ヶ月もするとそれなりに仕事を任せられるぐらいに習得していたことを理由としています。

独学であれば入門書に書いてあるようなコードを試しながら覚えることが出来ます。ただ、短いコードであれば自分で書いて実行するのは可能ですが、少し長いコードになってくると自分に関係のないような話も増えてきて結構うんざりして、そこから面倒くさくなってきます。

そういうときは何か自分で作りたいものを考えてそれを作るとかがいいと思います。

ちなみに自分の場合は初めて覚えるプログラミング言語であれば、天気予報のサイトからデータを取得して表示するプログラムを作ったりします。ブラウザを起動する必要もなく、天気予報も見れるため結構活用してたりします。

勉強するバージョンは3でいい?

Pythonにはバージョン2とバージョン3があります。バージョン2と3では互換性がないところがあるため、今からであればバージョン3を学んだ方がよいでしょう。バージョン2は2020年にはサポートが終了されます。

会社などで使っているシステムがPython2.xのバージョン2で作成されている場合は、Python3.xへのアップデートが大変だ、と判断されていることだと思います。そのような場合はバージョン2も合わせて学んでください。

なお、バージョン2と3では以下のような違いがあります。

print関数の違いは括弧の有無

バージョン2と3で一番有名な違いはprint関数の書き方が変わったことです。print関数では括弧が必要かどうかの違いがあります。Python2.xでは括弧は不要ですが、Python3.xからは必要になりました。

Python2.x

Python3.x

割算結果が変わった

割算の結果も変わりました。Python2.xでの割算は余りを切り捨てて整数を返していましたが、Python3.xでは小数まで計算されます。

なお、Python3.xでPython2.xと同じように整数で結果が欲しい場合は割算の演算子の「/」を「//」として実行する必要があります。

その他、さまざまな変更

他にも構文やエラー処理やデータの持ち方など、さまざまな部分で変更が行われています。

基本的にはPython2.xでの挙動があまりよくないものがPython3.xで改善された形になっています。

バージョンアップ用ツール「2to3」

Python2.6以降にはPython3.xへの変換を行うための「2to3」というツールが含まれています。

変換前後の差分をファイルに出力したり、変換後がどのようになるのかを確認することが出来ます。最初からバージョン3を利用している場合にはもちろん利用する機会がないツールです。

初心者の方はこういうものがあるという程度の認識で問題ありません。

何からはじめたらいいか

何をするにしても、まずはPythonのインストールです。

次のページでインストール方法を紹介しています。

次ページ:Pythonのインストール方法