Python 2 vs Python 3:Python 2.x と Python 3.x の違いは何ですか?
Python 2 とは?
パイソン 2 コード開発プロセスが以前のバージョンよりも簡単になりました。 Python Enhancement Proposal (PEP) の技術的な詳細を実装しました。 Python 2.7 (2.x の最終バージョン) は開発中でなくなり、2020 年に廃止されます。
このチュートリアルでは、
- Python 2 とは?
- Python 3 とは?
- Python 2 を学ぶべき理由は何ですか?
- なぜ Python 3 を使用する必要があるのですか?
- Python 2 の歴史
- Python 3 の歴史
- Python 2 と 3 の違いは何ですか?
- Python 2 と Python 3 のサンプル コード
- 使用する Python のバージョンは?
Python 3 とは?
パイソン 3 は、2008 年 12 月にリリースされた Python プログラミング言語の新しいバージョンです。このバージョンは、主に Python 2 に存在する問題を修正するためにリリースされました。これらの変更の性質により、Python 3 は Python 2 と互換性がなくなりました。>後方互換性なし .
Python 3 の一部の機能は、Python 3 での移行プロセスを簡単にするために Python 2.x バージョンにバックポートされています。変化します。これらの変更は、プロジェクトとアプリケーションだけでなく、Python エコシステムの一部を形成するすべてのライブラリにも関連しています。
主な違い
- Python 2 の構文は比較的理解しにくいのに対し、Python 3 の構文はよりシンプルで理解しやすいです。
- Python 3 のデフォルトの文字列の保存は Unicode ですが、Python 2 の保存では Unicode 文字列値を「u」で定義する必要があります。
- Python 3 では変数の値は変化しませんが、Python 2 ではグローバル変数の値は for ループ内で使用すると変化します。
- Python 3 の例外は括弧で囲む必要がありますが、Python 2 の例外は表記で囲む必要があります。
- 順序比較の Python 3 ルールは単純化されていますが、順序比較の Python 2 ルールは複雑です。
- Python 3 では反復を実行するために Range() 関数が提供されますが、Python 2 では xrange() が反復に使用されます。
なぜ Python 2 を学ぶ必要があるのですか?
ただし、Python 2 は古いオープン ソース バージョンです。ここでは、まだ Python 2 を学習する必要があります:
- DevOps エンジニアになるには、puppet や ansible などの構成管理ツールを使用する必要があります。ここでは、これらの両方のバージョンで作業する必要があります。
- あなたの会社のコードが Python 2 で書かれている場合、それを扱う方法を学ぶ必要があります
- 開発チームが、Python 3 に移植できない特定のサードパーティ ライブラリまたはソフトウェアに依存するプロジェクトに取り組んでいる場合、利用できる唯一のオプションは Python 2 です。
Python 3 を使用する理由
Python 3.x バージョンを使用する主な理由は次のとおりです。
- Python 3 は、AI、機械学習、データ サイエンスなどの最新技術をサポートしています
- Python 3 は、大規模な Python 開発者コミュニティによってサポートされています。サポートを受けるのは簡単です。
- 以前のバージョンに比べて Python 言語を習得しやすくなっています。
- 強力なツールキットとライブラリを提供
- 他の言語と混合可能
Python 2 の歴史
- Python 2.0 – 2000 年 10 月 16 日
- Python 2.1 – 2001 年 4 月 17 日
- Python 2.2 – 2001 年 12 月 21 日
- Python 2.3 – 2003 年 7 月 29 日
- Python 2.4 – 2004 年 11 月 30 日
- Python 2.5 – 2006 年 9 月 19 日
- Python 2.6 – 2008 年 10 月 1 日
- Python 2.7 - 2010 年 7 月 3 日
Python 3 の歴史
- Python 3.0 – 2008 年 12 月 3 日
- Python 3.1 – 2009 年 6 月 27 日
- Python 3.2 – 2011 年 2 月 20 日
- Python 3.3 – 2012 年 9 月 29 日
- Python 3.4 - 2014 年 3 月 16 日
- Python 3.5 – 2015 年 9 月 13 日
- Python 3.6 - 2016 年 10 月
- Python 3.7 - 2018 年 6 月
Python 2 と Python 3 の主な違い
Python 2 と Python 3 の主な違いは次のとおりです:
<センター>
<図>Python 2.x と Python 3.x の違い
フィギュア>センター>
比較の基準 | Python 3 | Python 2 |
---|---|---|
リリース日 | 2008 | 2000年 |
関数印刷 | 印刷 (「こんにちは」) | 印刷「こんにちは」 |
整数の除算 | 2 つの整数が除算されるたびに、浮動小数点値が得られます | 2 つの整数を除算するときは、常に整数値を指定します。 |
ユニコード | Python 3 では、文字列のデフォルトの保存は Unicode です。 | Unicode 文字列値を格納するには、「u」で定義する必要があります。 |
構文 | 構文がよりシンプルになり、理解しやすくなりました。 | Python 2 の構文は比較的理解しにくかった. |
比較順序の規則 | このバージョンでは、順序比較のルールが簡素化されました。 | 順序比較のルールは非常に複雑です。 |
反復 | 反復を実行するために導入された新しい Range() 関数。 | Python 2 では、反復に xrange() が使用されます。 |
例外 | かっこで囲む必要があります。 | 表記で囲む必要があります。 |
変数のリーク | 変数の値は変化しません。 | グローバル変数の値は、for ループ内で使用すると変化します。 |
後方互換性 | python 2 を python 3 に移植するのは難しくありませんが、信頼性はありません。 | Python バージョン 3 は、Python 2 と下位互換性がありません。 |
図書館 | 最近の開発者の多くは、Python 3 でのみ使用できるライブラリを作成しています。 | Python 2 用に作成された古いライブラリの多くは、前方互換性がありません。 |
Python 2 と Python 3 のサンプル コード
パイソン 3
def main(): print("Hello World!") if __name__== "__main__": main()
パイソン 2
def main(): print "Hello World!" if __name__== "__main__": main()
使用する Python バージョンは?
今日の Python 2 と Python 3 の違いに関して言えば、Python 3 バージョンが完全に勝者です。これは、Python 2 が 2020 年以降に利用できなくなるためです。大規模な Python 3 の採用は、将来の明確な方向性です。
Python 2 プログラミング言語のサポートの減少と、Python 3 へのアップグレードによる追加の利点を考慮した後、新しい開発者は常に Python バージョン 3 を選択することをお勧めします。このバージョンを使用してください。
まとめ
- Python 2 では、以前のバージョンよりもコード開発プロセスが容易になりました。 Python Enhancement Proposal (PEP) の技術的な詳細を実装しました。 Python 2.7 (2.x の最終バージョン) は開発中でなくなり、2020 年に廃止されます。
- Python 3 は、2008 年 12 月にリリースされた Python プログラミング言語の新しいバージョンです。このバージョンは、主に Python 2 に存在する問題を修正するためにリリースされました。これらの変更の性質上、Python 3 は Python 2 と互換性がありませんでした。 . 下位互換性がありません。
- Python 2 では、順序比較のルールが簡素化されました。
- Python 3 では、比較順序の規則が非常に複雑です。
- 現在、Python 2 と 3 の違いに関して言えば、Python 3 バージョンが完全に勝者です。
Python