python 2とpython 3の簡単な違いを説明します。

4197 ワード

python 2:print文は、文が印刷するものと直接に接続できることを意味します。もし後に続くものが元のグループのオブジェクトであれば、直接印刷します。
pythone 3: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という表現や関数を使わなければなりません。入力前にevalを作成すると、式を計算値に変換します。x= eval(input("enter some values")) = 12具体的な表現例:
Python 2で:

name = input("What is your name? ")print ("Hello, %s." %name)
出力:
Python 3で:

name = input("What is your name? ")print ("Hello, %s." %name)
出力:
私たちは彼らの違いが小さいことをはっきりと見ることができます。
2、Printオプション
Python 2では、printは括弧を必要としない文です。Python 3では、printは関数であり、値は括弧で囲む必要があります。
Python 2
入力:
print「ハローワールド」
出力:
Python 3
入力:
11.0 print(False)
出力:
3、Unequal操作
Python 2でUnequal演算子を使用する場合は、大きな符号を使用する必要があります。しかし、Python 3には汎用演算子があります。感嘆符です和イコール=値が等しいかどうかを表すために使われます。
Python 2-<>演算子が等しくないことを表します。
Python 3-演算子が等しくないことを表します。
Python 2
入力:
1<>1.0print“False”
出力:
Python 3
入力:
11.0print(False)1!=1.0 print(False)
出力:
4、Range
Rangeはデジタルリストを生成するために使用され、通常は反復forループに使用されます。
ここではX=Range 10が見られます。変数Xをチェックすると、リストタイプに戻ります。これは、Python 2において、Rangeがリストのタイプであることを意味する。Xを書くと、対象リストがあります。ここは0 1 2 3 5 5 6 8 9です。
今Python 3に移ります。Xを書くとRange 5に等しくなります。この値は変数Xに割り当てられます。変数Xの種類をチェックすると、Rangeオブジェクト自体に戻ります。これは、Python 3において、Rangeが対象自体であることを意味する。
Python 2
入力:
print range(0,10,1)
出力:
Python 3
入力:
print(list(range(10))
出力:
5、自動移転
では、どのようにスクリプトを自動的に実行して、コードをPython 2から3に移動しますか?
ここではPythonのAdd 2 Numbersを使ってテストできます。
Python 2
入力:

n1 = 1n2 = 2add = float(n1) + float(n2)print 'sum of {0} and {1} is {2}'.format(n1, n2, add)
出力:
今は2 to 3の移行を使って、上のコードを変えることができます。
入力:

n1 = 1n2 = 2add = float(n1) + float(n2)
print('sum of {0} and {1} is {2}'.format(n1, n2, add))
出力:
ここではコマンドラインで2 to 3を介してPython 3コードに変換することができます。
Pythonは自分のツールを提供しています。2 to 3.pyといいます。スクリプトの山を作って、あなたのPython 2コードを3に変換します。完璧ではないですが、全体的に素晴らしいです。任意のコードを変換したら、手動で問題を修正できます。
6、性能問題
このアップグレードではほとんどの性能問題が修復されました。二つのバージョンの間の基準を比較すると,差はほとんど無視できる。
7、主要な内部事務の変更
Python 2
•print機能括弧選択。
•uをプレフィックス文字列として使用して、unicode文字列を生成します。
•整数除算は常に整数-5/2=2を返します。
•Raw_input()は文字列を読みだします。
•input()読み込んだデータを評価します。
•generator.next()
Python 3:
•print機能括弧は必ず記入します。
•デフォルトは文字列unicodeです。
•整数除算は浮遊-5/2=2.5を引き起こす可能性があります。
•Raw_input()は利用できません。
•入力は常に文字列を読みます。
•次の(generator)。
•Py 2 to py 3ユーティリティ。
•Dictorary.keys()と.values()が戻ってくるのは、ビューのためのリストではありません。
•自然以外の比較では比較演算子は使えません。
 例えば、None<Noneはfalseに戻る代わりにType Errerを誘発する。
•パーセンテージ(%)文字列書式演算子の使用は推奨されません。format()関数または接続を使用します。
python 2とpython 3の違いを以下の8つにまとめます。
     一、python 2  のコードの混乱を繰り返すと冗長度が多くなります。  当時編纂に来た人はC言語の大牛やjavaの大牛などの大神がいました。その中には様々な言語の影があります。
            python 3  亀おじさんの夏休みの整理を経て、2018年11月にコードが統一されました。  ソースコードの仕様はクリアでシンプルで美しいです。
    二、python 3  print(「内容」)
           python 2 ptint()   またはprintの内容
   三、python 3コード:utf-8
          python 2コード:デフォルトコード:ascii     解決方法:最初の行で    -*- encoding:utf-8-*-
   四、ユーザーインタラクティブinput
          python 2:  raw-input()
          python 3:input() 
五、python 2 x  :unicodeデフォルトの2バイトは1文字を表します。  LINUXでコンパイルしてインストールする時に調整ができます。
      python 3 x:unicodeはデフォルトでは4バイトです。1文字を表します。
六、python 2 x  nonlocalがありません
      python 3 x   加入する
七、python 3 x  新しいカバンの中のinitファイルを削除すると、そのファイルが削除されます。  カバンはそのまま呼び出すことができます。
        python 2 x  新規のパッケージは、initファイルがないと、呼び出しができません。直接エラーを報告します。
八、python 2の古典的なエルゴード方法は深さ優先です。    新しいタイプは広さを優先します。
      python 3には古典類は存在しません。  すべての種類は新式です。  広さ優先です。
締め括りをつける
以上は小编が皆さんに绍介したpython 2とpython 3の简単な违いです。皆さんに助けてほしいです。ここでも私たちのサイトを応援してくれてありがとうございます。