Instagramは先日、Python 2からPython 3への移行を祝いました。 しかし、多くの有名企業はいまだにPython 2を使用しています。
それはなぜでしょうか? 一言で言えば「互換性」です。
Python 3は「後方互換性」がありません。つまり、もしあなたの会社がPython 2のライブラリを使用しているなら、アップグレード後にそれらが動作しなくなる可能性があります。
Python 2でコードを実行している企業は、厳しい選択をしなければなりません。 Dropbox は、アップグレードに 3 年を要したプロセスの詳細なレポートを書いています。
Python 3の採用は、Pythonコミュニティで長い間議論の対象となってきました。 今では広くサポートされるようになり、Djangoのような非常に人気のあるプロジェクトではPython 2のサポートを完全に取りやめていますが、これは今でも多少当てはまります。
DropboxがPython 2からPython 3へのアップグレードを完了するのに3年かかりましたが、Pythonの発明者であるGuido Van RossumはDropboxで働いています。
Python 3は10年以上前のものですが、いまだにPython 2を使っている企業も少なくありません。 では、どのバージョンの言語を学べばいいのでしょうか? この記事では、Python 2とPython 3の違いを説明します。 もしあなたがポストを読みたくないのであれば、私からのアドバイスです。
Why is Python so Popular?
- 直観的であること。 構文(いわばPythonの「文法」)が理解しやすい。
- 成熟していること。 Pythonは、あなたが夢見ることができるあらゆるものをコード化することができる強力な機能を持つ、実績のある言語です。
- 需要がある。 Pythonの開発者は、世界中の多くの企業で定期的に採用されています。
- 遠隔地にも優しい。 コーディング・ニンジャもコーディングを学ぶ学生も、目標を達成するためにはインターネット接続が必要なだけです。
- Pythonは新しいExcelです。 ビジネススクールでPythonが教えられている理由は、Pythonがステロイド上のExcelのようなものだからです。
なぜPythonには2つのバージョンがあるのですか?
しかしながら、Pythonの世界ではしばらく前から変化が起こっています。 このソフトウェアの著作権を持つ独立した非営利団体であるPython Software Foundationは、2010年にバージョン2.7をリリースすると同時に、コードベースを様々なバージョンの3.xにアップグレードしました。
Why Choose Python 2?
Python 2にこだわる最大の理由の1つは、Python 2で書かれた大規模なコードベースを扱うことに興味がある場合です。
Python 2 にこだわるもう一つの理由は、あなたのコードがもともと Python 2 用に書かれた特定の拡張機能に依存していて、それが更新されていない場合です。 ほとんどの拡張機能は更新されていますが、すべてではありません。
Why Choose Python 3?
率直に言うと、Python 2はレガシー、Python 3はフューチャーです。 もしあなたがコードを学び始めるのであれば、Python 3を学びましょう。
- レガシーコード。 2020年以降、Python 2はメンテナンスされなくなります。
- ベスト・プラクティスを学ぶ。 Python 3には、Python 2では利用できないアップグレードが含まれています。
- 構文の混乱を避けるために、Python 3はその構造をエレガントに変更しました。 2つのバージョンの間にはいくつかの小さな文法上の違いがあり、初心者をイライラさせることがあります。
Python 2とPython 3の違いは?
初心者が最初に書くPythonコードの1つは、print関数を使って “Hello world!”というフレーズを返すようにコンピュータに指示することでしょう。”
Python 2:
Print "Hello world!”
Python 3:
print("Hello world!”)
結果です。 コンピュータは同じものを返しますが、Python 3ではカッコでネストされたコードがより頻繁に使用されていることに気づくかもしれません。 これにはプログラム上の理由もあります。
Hello world!
もし、たくさんの括弧を管理する必要があると思われても、心配はいりません。
Python の変数
括弧をより広範囲に使用する2つ目の例は、準備されたテキストの返された行を異なる変数で置き換えることです。 これは、あなたが電子メール ニュースレターにサインアップすると、魔法のようにあなたの実際の名前でアドレスが表示されるときに行われる操作の一部です。
Python 2:
User20987 = "Chris Castiglione”print "Hi, %, hope you’re having a great day today!” % (User20987)
Python 3:
User20987 = "Chris Castiglione”print("Hi {0}, hope you’re having a great day today!”).format(User20987))
Pythonの関数
もう一つの大きな構文の違いは、raw_input()関数がどのように変わったかです。 これは、Web サイトのさまざまなフィールドから情報を取得する、非常に一般的な関数です (新しいアカウントに登録して電子メールアドレスを入力するときなど)。
Python 2:
Field_1 = raw_input("entered_value”)
Python 3:
Field_1 = input("entered_value”)
これは、コンピュータがコードをどのように解釈するかにも影響するので、見た目以上に重要です。 Python 2 は自動的に入力を「評価」しますが、ユーザーがプログラマーの期待する種類のデータを入力しなかった場合、意図しない結果になる可能性があります。
上記の例で、Python 2のプログラマーはユーザーが整数を入力することを期待していましたが、代わりにユーザーがタイプミスをして “7-2 “という数学の演算を入力したとします。
Python 3 バージョンでは、デフォルトでは入力を評価しません。
Python 3バージョンでは、デフォルトでは入力を評価せず、「文字列」と呼ばれるデータ形式を返します。 “7-2”.
Why I Recommend Learning Python 3:
Python 2 vs 3の計算速度のパフォーマンスは劇的に改善されましたが、Python 3はPython 2の能力をさらに向上させています。
学習を始めるにあたり、いくつかのクールな新機能を紹介します。 一般的な初期のレッスンは、ユーザーが入力したデータ (例えば、上記で使用した入力構文の例) を、情報のリストを作成するシンプルなスクリプトに渡すことです。
How Do I Get Python 3 On My Computer?
多くの新品のコンピュータにはPython 2.7がデフォルトでプリインストールされていますが、自分のマシンにPython 3をインストールして使用する方法を学ぶことは価値があります。
One Month’s Intro to Python classでは、Python 3を自分のマシンにインストールする手順を説明します。