Python2と3の違いとは?Pythonをこれから学習するならどっち?

Pythonとは?

Pythonとは人工知能の開発で注目されている汎用性の高いプログラミング言語です。

シンプルであることに哲学を持っている言語なので、構文が非常にシンプルでわかりやすく、読み書きがしやすいです。そのため、初心者でも習得しやすい言語だと言えます。

また、人工知能の開発だけでなく、業務システムやスマホアプリ、Webサービスなど幅広い開発に活用されています。

これから学習を始めるならPython3がおすすめ

これからPythonを学習しようと考えているプログラミング初心者の方には、Python2とPython3のどちらを学習すればいいのかわからないという方も多いのではないでしょうか。

これからPythonを学ぶのであれば、Python3を選択するのがおすすめです。ここではPython3をおすすめする理由をご紹介します。

1:Python3でライブラリに基本的に困ることはない

現在のメジャーなライブラリは基本的にPython3にも対応しているため、Python3を学んでライブラリで困るということはありません。

現在Pythonで開発される新しいアプリケーションもPython3が採用されているケースが多いです。そのため、どうしてもPython2が必要という場合を除いて、Python2をわざわざ選んで学ぶ必要はないと言えるでしょう。

2:Python2はサポートが終了

Python2は最新バージョンの2.7も2020年にサポートが切れています。

そのため、これからPython2を学んでもサポートを受けられません。また、現在Python2でできることも今後はPython3に移行されていくことが予想されるため、Python2ではなくPython3を学ぶのがおすすめであると言えます。

Python2と3の主な違い

これからPythonを学ぶならPython3を学ぶのがおすすめだとご紹介しましたが、具体的にPython2と3にはどのような違いがあるのかわからないという方も多いでしょう。

Python2と3にはさまざまな違いがあります。ここではPython2と3の違いについてご紹介していきますので、ぜひ参考にしてみてはいかがでしょうか。

1:print

Python3ではprint文がprint関数に変更されたという違いがあります。

そのため、Python3でPrintによって出力を行いたい場合、引数として「()」が必要になります。

具体的には、Python2では「print ‘出力対象’」だったものが、「print(‘出力対象’)」のような記述方法になります。

2:ライブラリ

Python3はPython2よりもまだ対応しているライブラリの数が少ないという違いがあります。

多くのメジャーなライブラリは対応が完了していますが、まだライブラリの数はPython2の方が多いです。そのため、あらかじめ使おうと思っていたライブラリがある場合は、Python3に対応しているかどうかを確認するのがおすすめです。

標準ライブラリだけで開発できる場合はPython3で特に問題はないでしょう。

3:数値

Python3で数値を扱う場合、小数点まで出力されるという違いがあります。

たとえば電卓アプリのような割り算などの数値の計算を行って、その結果を出力するプログラムを作成した場合、Python2であれば「3」と結果が表示されるものはPython3では「3.0」となります。

Python2の場合は小数点以下が自動的に切り捨てられますが、Python3の場合は切り捨てずに表示します。Python2と同じように切り捨てる場合は、中の割り算の処理を「(6 / 2)」ではなく 「(6 // 2)」のように記述する必要があります。

4:int型

Python3ではlong型が廃止され、int型として扱われるようになったという違いがあります。

Python3ではPython2までは存在していたlong型がなくなり、すべてint型に統合されています。さらにこの変更にともない、int型の上限もなくなっているため、long型で扱われていた数値をint型で扱えるようになりました。

5:例外構文

Python3では例外構文もPython2とは書き方が異なるという違いがあります。

ソースコードの中で例外処理を記述する場合はexcept文を使用することになりますが、Python2では「,(カンマ)」を使用していた箇所が「as」に変更になっています。

具体的にはPython2では「except Exception, e:」のように記述した箇所が、Python3では「except Exception as e:」のように変更になっています。

なぜPython2と3で悩むこととなるのか?

ここまでご紹介したとおり、Python2とPython3にはさまざまな違いがあります。また、Python2はサポートもすでに終了していることから、利用するのであればPython3を学ぶのが当然のように思われます。

しかし実際にはどちらを利用すればよいか迷うケースは少なくありません。それでは、なぜPython2と3で悩むことになるのでしょうか。

まだPython2を扱う場合があるから

Pythonはシンプルであるがゆえに、ライブラリによってユーザー側で機能を追加を行っていく言語です。そのため、ライブラリは非常に重要な要素となっていますが、ライブラリの中にはPython3に対応しないまま開発が終了しているものもあります。

このことから、どうしてもPython2でしか開発できないというケースもあります。

今から学習するならPython3!

Python2と3は現在でもどちらを利用するか議論されることがあります。

ぜひこの記事でご紹介したこれから学ぶならPython3がおすすめな理由やPython2とPython3の違いなどを参考に、Python3を習得してみてはいかがでしょうか。