違いを解説君

あるゆる物事の"違い"をわかりやすく解説する情報マガジン

タイピング

ITの違い

Python2とPython3の違いをわかりやすく解説!初心者におすすめは?

投稿日:

『Python』という言葉を聞いたことがありますか?

 

はなこ
『Python』って蛇のことよね?
そうなんだけど、コンピュータの世界ではスクリプト言語として有名だよ。

『Python2』と『Python3』の2種類があるよね。

たろう
はなこ
『Python2』と『Python3』では、何が違うの?
僕もよく知らないんだ。

でも、違う言語なんじゃないのかな。

たろう

 

ということで、今回はスクリプト言語の『Python2』と『Python3』について調べ、その違いを解説します。

スポンサーリンク

『Python2』と『Python3』の違い

『Python』には、『Python2』と『Python3』があります。

これらの間に違いはあるのでしょうか?

 

『Python2』と『Python3』は、同じ『Python』というスクリプト言語ですが、バージョンが異なります。

『Python2』は、2000年に公開され、このバージョンから『Python』が広く使われるようになりました。

『Python3』は、その後継であり、2008年に公開されました。

 

『Python2』は、2010年にマイナー・バージョンアップした『Python2.7』が登場して以降、マイナー・バージョンの更新はありません。

また、

『Pyhton2』自体、2019年いっぱいでサポートが終了する

ことになっています。

『Python3』の最新バージョンは、2019年に登場した『Python3.8』です。

 

『Python2』と『Python3』では互換性がありません。

そのため、

過去に『Python2』用に書いたスクリプトを『Python3』上で動かすことができない

というケースがあります。

また、『Python』には、様々なライブラリ(様々な機能を集めたモノ)が特徴になりますが、

『Python2』用のライブラリは『Python3』では動作しません。

しかし、現在では、ほとんどのライブラリが『Python3』に対応し、問題なく利用できるような環境が整ってきました。

また、間もなく『Python2』はサポートを停止するため、『Python2』は使われなくなっているのが現状といえます。

 

『Python2』と『Python3』初心者におすすめなのは?

蛇

『Python2』と『Python3』では、初心者におすすめなのは、どちらになるでしょうか?

 

結論としては、

無条件で、『Python3』

をおすすめします。

『Pyhton2』は、間もなくサポートが終了する言語です。

そのため、今から勉強して『Python2』の文法を覚えても、あまり意味がありません。

もちろん、『Python2』と『Python3』で、文法が大きく違うことはありません。

『Python2』を勉強しても、その知識は『Python3』でも活かすことができるでしょう。

しかし、現在では『Python3』も広く使われるようになっているので、たいていの環境では『Python3』が利用できるはずです。

そうなると、無理に『Python2』を使う必要もないことになりますね。

 

はなこ
これからは『Python3』の方を使うようにしたほうがいいということね。
もうすぐ『Python3』は使われなくなるのだから、そうなるね。

でも、『Python2』は20年も使われてきたんだね。

たろう
はなこ
『Python3』も、もう10年以上も経ってるわ。

 

『Python』の特徴

『Python』の特徴についても、簡単に紹介しておきます。

『Python』は、スクリプト言語のひとつです。

『スクリプト言語』としては、他にも『Perl』や『Ruby』など、数多くの言語があります。

その中でも『Python』は、世界中でたくさんのユーザーに使われている代表的な言語の地位を確立しました。

Unixだけではなく、WindowsやmacOSなど、様々なオペレーティング・システム(OS)上で動作します。

 

『Python』の特徴のひとつが、文法が非常にシンプルであるという点です。

『C言語』をお手本に開発された言語では、ブロックを "{ }" で囲む規則が一般的です。

例えば、次のようなプログラムになります。

『C言語』のプログラム例 (1)

if ( x > 10 ) {

@@x = 0;

@@++y;

} else {

@@++x;

}

このプログラムは、

xが10を超えたら、xをゼロで初期化してyに1を加え、そうでなければxに1を加える

という処理を表しています。

"{ }"を使って囲まれた部分がブロックになります。

このプログラムは、次のように書くこともできます。

『C言語』のプログラム例 (2)

if ( x > 10 ) { x = 0; ++y; }

else { ++x; }

改行をせずに書いても、文法違反にはならないので、これでも問題ないのです。

つまり、どのようにプログラムを記述するか、ある程度プログラマの裁量で決めることができるわけです。

もちろん、上の例のような書き方は、褒められたものではありません。

通常は、開発のチーム内で、きちんとしたルールを決めて、それに従って記述することが多いでしょう。

それでも、全く違うところからソースコードを持ってきて移植しようとすると、ルールの違いにより、読みづらかったりするような場合もあります。

 

『Python』の場合、

インデント(字下げ)を使ってブロックを表す

という特徴があります。

同じプログラムを『Python』で記述した場合、次のような形になります。

『Python』のプログラム例

if x > 10:

@@@@@@@@x = 0

@@@@@@@@y += 1

else:

@@@@@@@@x += 1

『Python』の場合、これ以外に書き方はありません。

この文法のシンプルさが、『Python』の魅力の一つと言えるでしょう。

スポンサーリンク

まとめ

今回の違いのポイントについて、まとめていきましょう。

ポイント

  • 『Python2』と『Python3』は同じ『Python』の仲間であり、バージョンだけが異なる。
  • 『Python2』は、2019年いっぱいでサポートが終了する。
  • これから学習する場合は、『Python3』がよい。
  • 『Python』は文法が非常にシンプルで、誰が書いても同じプログラムになるような配慮がなされているのが特徴である。

『Python』の他にも、世の中には様々な『スクリプト言語』があります。

それぞれの違いを勉強してみるのも面白いかもしれませんね。

関連記事

-ITの違い

Copyright© 違いを解説君 , 2019 All Rights Reserved.