プログラミング言語は改良を加えることでバージョンアップしていきますが、PythonもPython2とPython3で違いがあります。
この2つのバージョンには完全な互換性があるわけではないので、常に最新バージョンを使えば良いというわけではありません。
初めてPythonを学習する場合、Python3を選んでおけば間違いないでしょう。
しかし、ベテランになるにつれて稼働中のPython2のシステムを保守点検するため、Python2に精通していることが必要なケースもあります。
そのほか、すべてのバージョンで動くライブラリを開発するエンジニアは、Python2を理解していなければなりません。
稼働させる顧客のOSが古い場合も、Python2しか動かないことが考えられます。
主要なライブラリのほとんどはPython3に対応しているので、稼働中のPython2のシステムにPython3で新機能を追加することも可能です。
Python2のコードを、順次Python3に書き換えていくことも想定されます。
そのときに思わぬバグの原因となり得るのが、2つのバージョンに互換性がない機能を使っているライブラリです。
その回避方法として有効なのは、内部にバージョンの違いを吸収してくれるモジュールの実装か、外部パッケージの利用でしょう。
Python2のソースコードを、自動でPython3に変換するツールもあります。
ですが、完璧に変換するとは言い難い面があるため、部分的な修正は必要になると認識しておきましょう。