Python のさまざまなバージョンの違いは何ですか? Python3 のさまざまなバージョンの違いは何ですか?

みなさん、こんにちは。この記事では、Python のさまざまなバージョンの違いに焦点を当てます。Python3 のさまざまなバージョンの違いは、多くの人が理解したいと思っていることです。Python のさまざまなバージョンの違いを理解するには、次のことを理解する必要があります。まず物事。

この記事では、Python のさまざまなバージョン間の違い、および Python3 のさまざまなバージョン間の違いについて説明します。お役に立てば幸いです。このサイトをブックマークすることを忘れないでください。

1. バージョン比較

まず最初に言っておきたいのは、Python のバージョンは現在主に 2 つのカテゴリに分類されているということです。

Python 2.x バージョンは Python2 と呼ばれます。これは、Python 2.7.3 Python 9 つの花の描き方など、現在最も広く使用されています

Python 3.x バージョンは Python3 と呼ばれます。これは、Python 3.1 Xiaofamao の疑似オリジナル API 呼び出し手順などの最新バージョンです。長期的には、それが今後のトレンドと考えられます。

【Python2とPython3の違い】

1. Python2 から Python3 へ、多くの基本的な関数インターフェイスが変更され、一部のライブラリや関数は削除され、名前が変更されました。

Python2 と Python3 では、多くの基本的で最もよく使用される関数のインターフェイスが変更されており、最も一般的な関数は、最もよく使用される print 関数です。

2. サードパーティ ライブラリのサポートに関しては、現時点では Python2 が最も優れたサポートを備えていますが、Python3 のサポートは十分ではありません。

Python が強力である理由の 1 つは、非常に強力な機能を備えたサードパーティ ライブラリが多数あることです。

現在、Python 用のサードパーティ ライブラリの多くは Python 2 のみを提供しています。

あるいは、Python3 が提供されているとしても、必ずしも十分に成熟しているわけではありません。

2. コーディングの比較

Python では、Python2 であろうと Python3 であろうと、一般的に言えば、文字のカテゴリは 2 つだけです。

ユニバーサル Unicode 文字。

UTF-8、GBK、その他の種類の文字など、特定のエンコード タイプの (Unicode エンコードされた) 文字。

Python2 の文字タイプ:

str: エンコードされたバイトシーケンス

unicode: エンコード前のテキスト文字

Python3 の文字タイプ:

str: エンコードされた Unicode テキスト文字

bytes: エンコード前のバイトシーケンス

文字列には、テキスト状態とバイト (バイナリ) 状態という 2 つの状態があると考えることができます。Python2 と Python3 の 2 つの文字タイプは、それぞれこれら 2 つの状態に対応し、相互にエンコードおよびデコードを行います。エンコードとは、文字列をバイトコードに変換することであり、これには文字列の内部表現が含まれます。デコードとは、バイトコードを文字列に変換し、ビットを文字に表示することです。

Python2 では、str と unicode の両方にエンコード メソッドとデコード メソッドがあります。ただし、Python2 の設計上の欠陥のため、str に encode を使用し、unicode に decode を使用することは推奨されません。Python3 は最適化されており、str には文字列をバイトコードに変換するエンコード メソッドが 1 つだけ、bytes にはバイトコードをテキスト文字列に変換するデコード メソッドが 1 つだけあります。

Python2 の str と unicode は両方とも Basestring のサブクラスであるため、この 2 つは直接結合できます。Python3 では、bytes と str は 2 つの独立した型であり、結合することはできません。

Python2 では、引用符で囲まれた通常の文字は str です。このときの文字列のエンコーディング タイプは、Python ファイル自体が保存されているエンコーディングに対応します。最も一般的な Windows プラットフォームでは、デフォルトで GBK が使用されます。Python3 では、一重引用符または二重引用符で囲まれた文字列はすでに Unicode 型 str です。

str のエンコーディングにはいくつかの前提条件があります。

対応するエンコーディングは Python ファイルの先頭で宣言されています

Python ファイル自体は実際にこのエンコーディングを使用して保存されます

両方のエンコード タイプは同じである必要があります (たとえば、両方が UTF-8 であるか、両方が GBK であるなど)。

このようにして、Python パーサーはテキストを対応するエンコードされた str に正しく解析できます。

一般的に、Python3 では文字エンコーディングの問題が大幅に最適化され、Python2 ほど厄介ではなくなりました。Python3 では、テキストは常に Unicode (str 型で表され、バイナリ データは bytes で表されます) Str と bytes が密かに混在していないため、2 つの違いがより明確になります。

要約する

以上がこの記事の全内容です。この記事の内容が皆さんの Python の学習や使用に少しでも役立つことを願っています。ご質問がございましたら、メッセージを残してコミュニケーションしてください。ありがとうございます。サーバーホーム。

おすすめ

転載: blog.csdn.net/mynote/article/details/135232247