【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。言語から探す場所から探す条件から探すrsstwitterfacebook案件獲得できなかったら全額返金!未経験からプロのエンジニアスキルを身につけ、フリーエンジニアとして稼げるまで徹底サポート。まとめはじめにどのバージョンのPythonを使っていますか?この連載ではPython3のインストール方法を紹介したので、3.x系を使っている方が多いでしょう。使っているPythonのバージョンがわからないという方は、コンソールでPythonに”-V”オプションをつけて実行すると、バージョンが表示されます。プログラムでplatformモジュールをインポートしてpython_version関数を実行してもよいでしょう。2.x系と3.x系の違いについて説明していきます。2.x系は2020年までサポートされる予定ですので、それまでは両者の違いを覚えておきましょう。Pythonバージョンのおさらい現在のところ、Pythonは2.x系と3.x系の2つのバージョンがサポートされています。バージョン番号からも分かる通り、3.x系のほうが新しく、さまざまな改善がなされています。2.x系がサポートされているかというと、2.x系と3.x系はソースコードの互換性がない(動作しない場合がある)からです。そのため、2.x系は2.7を最終バージョンとして2020年までサポートされることになっています。2.x系のサポート期限終了は目前に迫っており、多くのライブラリは3.x系に対応していますが、まだ2.x系のコードを扱うこともあるでしょう。そこで、次項から2.x系と3.x系の主な違いについて説明していきます。2.x系と3.x系の主な違いprint2.x系ではprint文でしたが、3.x系ではprint関数に変更されています。このため、3.x系では次のようにprint関数として実行する必要があります。print")なお、2.x系ではカッコをつけても問題ないので、これにより互換性を保つこともできます。割り算(/)割り算についても、目立たないものの重要な違いがあります。2.x系では整数どうしの割り算(/)は整数(int)を返します。3.x系では小数(float)を返します。この微妙な違いはバグのもととなることもあるため、注意しておきましょう。int型2.x系では整数型としてint型とlong型が組み込まれていましたが、3.x系ではint型に統合されました。このため、3.x系では数値が大きくなってもint型のままです。細かな変更ですが、2.x系と3.x系ではexcept文の構文が違います。3.x系では、カンマから”as”キーワードを使うように変更されました。e:print("例外が発生しました")ソースコードに互換性をもたせる場合によっては、ひとつのソースコードで2.x系と3.x系の両方に対応しなければならないこともあるかもしれません。そのような場合には、次のようにバージョンを検出して分岐させる方法を使います。2.x系")sys.version_infoタプルの第一要素からメジャーバージョンが取得できますので、それを使って3.x系以降と2.x系とを分けています。次のように例外を使う方法もあります。abc例では、バージョンによって名前が異なるライブラリをインポートしています。2.x系ではImportErrorが発生するため、それをキャッチして適切なライブラリをインポートします。2.x系で3.x系の機能を使う2.x系で3.x系の機能が使えないかというと、そうではありません。Pythonには”__future__モジュール”が用意されており、それをインポートすることで3.x系の機能が使えるようになります。3/2この例では、”division”をインポートして、割り算の挙動を3.x系と同等に変更しています。2.x系では標準で整数を返しますが、実行してみると小数を返すのが確認できます。他にも、機能ごとに用意されたfutureをインポートすることで、2.x系でも3.x系の機能をサポートできます。2.x系と3.x系はメジャーバージョンアップということもあり、かなり多くの変更が加えられています。プログラムが対象とするバージョンを明確にして、適切な方法でコーディングしましょう。両方のバージョンを対象とするのであれば、どちらのバージョンでも実行できるように互換性を持たせましょう。2.x系のサポートは2020年で終了する予定ですので、2.x系を使っている方は早めの移行をおすすめします。投稿者:プログラミング教育ナビ編集部tweetプログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。人気の記事まだデータがありません。【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。