2017/05/09
0:00

Pythonの2系と3系、どちらを勉強すべきか?

みなさんこんにちは。
テック博士です。

今日は、機械学習などの実装でよく用いられる
Pythonの2.Xと3.Xの違いについてまとめたので、
これから勉強する場合の注意事項などについて、
学びましょう。


現在、Pythonには大きく2つのバージョンが存在します。
最新版では、Python2.7.13と、Python3.6.1となります。

この2系と3系の違いはどのようなところに表れているのでしょうか。


Python3系は新しいバージョンではあるものの、
じつは2008年にリリースされているのです。

今年で9年目になるにもかかわらず、
未だその違いについて話題となるのには
ライブラリの問題があるのです。


実は、まだPython2系でなければ動かないライブラリ
存在しているため、このような話題が度々出てきます。



Pythonという言語は、そもそも機能が少なく
非常にシンプルなプログラミング言語であるので、
少し手の込んだ開発を行うためにはライブラリを入れる必要があります。

また、ライブラリ自身、企業や個人で作られたものもあり、
中にはサポートが遅れていたり、開発を終了しているものもあります。


そのため、
Python2系では動いたライブラリが、Python3系では動かない!
ということが頻発するのです。



さらに、前述したように
Pythonは非常にシンプルな言語であるが故、
専門的な開発を行う場合のほとんどで、ライブラリを用います。

そのため、
「開発をするうえで、どうしてもこのライブラリを使う必要がある」
ということもよくあるのです。

ただし、Python2系と3系では一部互換性がないため、
Python2系で開発されたアプリケーション等をPython3系に移行するのは
非常に手間がかかります。


このような理由より、
Python2系で開発されたアプリケーションについては
Python2系のまま、 機能追加やメンテナンス、
運用をされることが多いのです。




では、Pythonを新しく勉強する場合、
どちらを勉強するべきでしょうか。


答えは、Python3系です。



まず、メジャーなライブラリに関しては
ほとんどPython3系に対応しています。
また、Python2系よりも複雑な部分が除かれていることもあり、
たとえ初学者でも勉強しやすいでしょう。


さらに、新しいアプリケーションは、
たいていPython3で開発されることが多いです。



そして一番の理由は、公式のサポートにあります。

Python2系のなかで最も最新であるPython2.7は、
公式のサポートが2020年で終了してしまいます。



以上の理由より、新しく勉強するなどの場合は、
Pythonの3系を選択した方が良いことが多そうです。

Python2系は、必要になり次第、
その都度勉強するので問題ないでしょう。



以上、Pythonのバージョンの違いについて、説明しました。
これからさらに需要の増えるPythonエンジニアを目指す際、
ぜひ参考にしてみて頂きたい。

今日はこの辺で。お疲れ様でした。