ホームページ  >  記事  >  バックエンド開発  >  Python3 と Python2 に大きな違いがあるのはなぜですか?

Python3 と Python2 に大きな違いがあるのはなぜですか?

silencement
silencementオリジナル
2019-06-24 15:26:182699ブラウズ

Python3 と Python2 に大きな違いがあるのはなぜですか?

python2: print ステートメント、このステートメントは印刷するものを直接続けることができることを意味し、python3: print 関数、この関数は括弧を付けて呼び出す必要があると考えています。次の記事では、python2 と python3 の簡単な違いを紹介します。興味のある方は、エディターをフォローしてご覧ください。

python2: print ステートメント、このステートメントは、印刷するものを直接たどることができることを意味します. 直接印刷できるタプル オブジェクトが続く場合、

#python3: print 関数は、括弧を付けて呼び出す必要があると判断します。タプル オブジェクトに接続されている場合は、受信できます。

1. 式

Python 2 で計算式を取得するには、次のように入力します:

X = raw_input ("enter some values)

しかし、Python 3 では、次のように入力します。

X = input ("enter some values")

つまり、何を入力しても、その値は 2 と 3 の変数 x に代入されます。 Python 2 で 2*6 と入力すると、結果は評価値である 12 になります。

ただし、同じプログラムを Python 3 で実行すると、結果は文字列値になります。この場合、文字列形式では 2*6 のように見えます。

では、評価式はどうやって取得するのでしょうか?ここで、eval と呼ばれる式または関数を使用する必要があります。 input の前に eval を記述すると、式が計算値に変換されます。

3. Range 関数


Range は数値のリストを生成するために使用され、通常は for ループ内で反復するために使用されます。

ここで、X が範囲 10 に等しいことがわかります。変数 X をチェックすると、リスト型が返されました。これは、Python 2 では Range がリストの型であることを意味します。 X と書くと、オブジェクトのリストが得られます。0 1 2 3 4 5 6 7 8 9 です。

さあ、Python 3 に移りましょう。X が Range 5 と等しいと書くと、この値は変数 X に割り当てられます。変数 X の型をチェックすると、Range オブジェクト自体が返されます。これは、Python 3 では Range が範囲オブジェクトそのものであることを意味します。

以下は、python2 と python3 の 8 つの点の違いを簡単にまとめたものです

1. python2 のコードは、そのコードを書いた人が複雑で、繰り返しが多く、冗長です。当時は C 言語と Java の専門家でした。ダニエルをはじめとする巨匠なので、Python3 にはさまざまな言語の影があります。グイおじさんが企画した夏休みを経て、2018 年 11 月に最終的にコードが統一されました。ソースコードの仕様は、明確でシンプルで美しい。

2. python3 print ("content")、python2 ptint() または print 'content'

3. python3 エンコーディング: utf-8、python2 エンコーディング: デフォルトのエンコーディング: ascii 解決策:最初の行 # -*- エンコーディング: utf-8-*-

4. ユーザー インタラクション入力、python2: raw-input ()、python3: input ()

5. python2x: Unicode のデフォルトは 1 文字を表す 2 バイトです。LINUX のコンパイルおよびインストール中に調整できます。python3x: Unicode のデフォルトは 1 文字を表す 4 バイトです。

6. python2x には非ローカルがなく、python3x が追加されました

7. python3x の新規作成パッケージ内の init ファイルを削除してもパッケージは呼び出すことができますが、python2x の新規作成パッケージ内に init ファイルがない場合はパッケージを呼び出すことができず、エラーが表示されます。

8. Python2 のクラシッククラス トラバーサル メソッドは深さ優先で、新しいスタイルのクラスは幅優先です。Python3 にはクラシック クラスはありません。すべてのクラスは新しいスタイルのクラスです。 、つまり幅優先です。

以上がPython3 と Python2 に大きな違いがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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