ホームページ  >  記事  >  バックエンド開発  >  なぜ python2 が 3 になったのでしょうか?

なぜ python2 が 3 になったのでしょうか?

silencement
silencementオリジナル
2019-05-15 10:22:522912ブラウズ

初心者が遭遇する疑問は、なぜ Python2 が Python3 になったのかということです。 Python2 と Python3 はどちらが優れており、どちらを学べばよいでしょうか?

なぜ python2 が 3 になったのでしょうか?

Python サークルでは、Python 2 と Python 3 に関する議論が続いており、常に次から次へと盛り上がっています。 Python 2 および Python 3 との互換性は多くのプロジェクトである程度実現されていますが、両者の間の問題は依然として避けられず、プログラミング コミュニティが注意を払わなければならない重要な点の 1 つとなっています。

現在の状況

Python コア チームは、さまざまな Python バージョンに向けた計画を立てており、2020 年に Python 2 のサポートを終了し、Python 3 に全力を注ぐ予定です。おなじみのツールがたくさんありましたか?近い将来、これらのツールでは Python 3 を使用し、Python 2 の使用を本当にやめなければならなくなるでしょう。しかし、まだ2年以上あるので、遅くはありません。興味のある方は、コード変更作業のために Python 2 から Python 3 までのさまざまなツールに投資することもできます。 Python バージョン 3.0 は、Python の以前のバージョンと比較してメジャー アップグレードです。 Python3 は将来のトレンドであるはずですが、下位互換性はサポートされていません。つまり、python2.7 バージョンで作成したコードを python3 で直接実行することはできません。

Python3 の主な利点

1. print は print() になります

Python 2 の print は単なるステートメントであり、次の内容を出力する以外に追加の操作を実行することはできません。 print() を関数として使用する場合、さまざまなキーワード引数を追加して、標準の動作を改善し、より多くの追加操作を可能にすることができます。

2. デフォルトでは、文字列は Unicode エンコードに変換されます

Python 開発者がよく直面する「罠」は、文字列のエンコードの問題です。数え切れないほどの Python 開発者が、Unicode や多くの場合 ASCII 文字列を扱う際に、1 ~ 2 日以上にわたってこの問題に遭遇してきました。

この種の問題は、Python 3.x ではそれほど頻繁には発生しません。文字列はデフォルトで Unicode エンコーディングになるため、ユーザーは Unicode 文字列や ASCII/非 Unicode 文字列という用語を使用する必要がなくなります。 Python 3 では、Unicode 文字列と 8 ビット文字列の代わりに、テキストと (バイナリ) データの概念が使用されます。すべてのテキストは Unicode でエンコードされており、エンコードされた Unicode はバイナリ データとして表されます。

3. 更新された整数

(1) 単一整数型

は、int と long の統合を実現します。 int を使用してネイティブ整数サイズを超えても、OverflowError 例外が発生しなくなりました。 long 型は Python 3.0 で廃止され、サフィックス L は非推奨になりました。

(2) 除算の変更

任意の 2 つのオペランドを指定すると、「/」は常に浮動小数点数を返し、「//」は常に下向き除算を意味します。

4. Python3 のソース コードはデフォルトで UTF-8 エンコードされているため、中国語のエンコードを変換する必要はなく、中国語を直接使用して出力できます。

以上がなぜ python2 が 3 になったのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。