Pythonの学習サイトには様々なものがありますが、株式会社RJCの資料サイトにも学習に役立つ情報が記載されています。現在、主に使用されているバージョンには2.xと3.xがありますが、株式会社RJCの資料サイトに記載されている情報はバージョン3.xに関するものです。では、バージョン2.xと3.xにはどのような違いがあり、プログラミング初心者はどちらを学習すれば良いのでしょうか。

バージョン2.xと3.xの関係性

そもそもPythonは1991年に誕生した言語なのですが、バージョン2.0は2000年に、3.0は2008年に公開されたものです。現在は2.xと3.xの両方のバージョンが使用されているのですが、問題はこれらの間に互換性が無いことです。

基本的に、Pythonは後方互換性のある言語なので、アップデートが行われたとしても、古いバージョンで書かれたソースコードを、新しい環境下でも動作させることができます。しかし、3.0へとアップデートされた際は、大幅な変更がなされたため、2.xの環境で書かれたソースコードが3.xの環境下では動作しないということが多々あり、またその逆も同様です。

そのため、バージョンを移行する際はソースコードを書き変える必要があるのですが、書き換えを自動で行ってくれる変換ツールというものも存在します。ただし、変換ツールは完璧に変換してくれるものではなく、場合によってはエラーが起こることも少なくありません。エラーが起きた場合は、手動で修正する必要があるため、可能であれば両方のバージョンについての知識があった方が良いとされています。

バージョン2.xと3.xの違いとは

バージョン2.xと3.xでは、仕様が異なる部分が多く存在します。例えば、printに関して言えば、バージョン3.0からは関数化されており、出力させたい文字列を「()」で括らなければいけません。バージョン2.xまでの「()」で括らない記述方法は、3.0以降の環境下ではエラーとなります。

また、注意したいのが、整数の割り算に関する変更です。例えば、バージョン2.xにおいて除算演算子「/」を使用して「5/2」を計算すると、余りが切り捨てられた「2」が出力されます。しかし、新しいバージョンの3.xの環境下において「5/2」を計算すると、余りは切り捨てられずに「2.5」と浮動小数点として出力されるようになっています。細かな違いのように見えますが、これはprint関数とは異なりエラーとして表示されません。そのため、致命的なバグにつながる恐れがあるので十分な注意が必要です。

挙げればきりがありませんが、その他にも文字列がstr型に、整数がint型に統一されるなどの仕様が変更されています。

初心者は3.xを学習しよう

プログラミング初心者が新しく学習を始める際は、3.0以降のバージョンを選択することをお勧めします。以前は、2.xでしか使用できないライブラリが多数存在したため、古いバージョンを学習しなければいけないケースもありましたが、現在はメジャーとされるライブラリの多くが3.0以降にも対応しています。したがって、3.xを学習する上で、ライブラリ関係で支障が出ることはほぼ無いと言えるでしょう。

また、2.xのバージョンは2020年1月1日でサポートが終了することが決定しています。それに伴って、メジャーとされる数多くのライブラリでも2.xへのサポートを打ち切ることが発表されているため、現在は新しいバージョンへの移行が加速しています。そのため、特別な理由が無い限りは、新たに2.xを学習する意味は失われつつあるのです。

基本的に、新しいバージョンは、ソースコードを短くシンプルに記述できるようにアップデートされたものなので、プログラミング初心者が学習を始めるのであれば3.0以降を選択しましょう。

株式会社RJCの資料サイトを参考にしよう

株式会社RJCの資料サイトは、JAVAのプログラマやシステムエンジニアを育成してきたノウハウや資料などの情報を一部公開している技術サイトです。JAVA入門やデータベース、ウェブアプリケーションなどの情報が公開されていますが、Pythonについての記載もあります。内容はバージョンは3.xに沿ったものなので、これから学習を開始する初心者にもうってつけの内容となっています。

具体的な内容としては、基本的なソースコードの記述方法から、文字列の扱い方、条件分岐やループの記述方法などに関する解説だけでなく、標準ライブラリやフレームワークなどに関する情報もあります。そのため、これから学習を開始する人にとって、参考になる内容と言えるでしょう。

なお学習を開始する際は、開発環境を整える必要がありますが、注意すべきなのはMacやLinuxユーザーです。現在、MacやLinuxでは標準でプレインストールされていますが、バージョンは2.xとなっているため、新しく学習を開始する際は3.xをインストールしましょう。

まとめ

ここまで、バージョン2.xと3.xの違いや、どちらを学習すべきなのかについて紹介してきました。バージョン2.xは2020年1月1日でサポートが終了するため、これから学習を開始するのであれば、バージョン3.xを選択することをお勧めします。株式会社RJCの資料サイトには、バージョン3.xに関する資料が公開されていますが、初心者にも有益な情報となっているため、学習する際は参考にしてみてはいかがでしょうか。