新は、3.xのに2.xのが特徴

  現在、Pythonは二つのバージョン、1つのバージョン2.xを持っている、バージョン3.xで、2つのバージョンが互換性がありません。3.xのは、下位互換性2.xのコードを考慮していません。一方で、ほとんどの企業は、バージョン2.7の現在の開発に基づいていますが、バージョン3.xは、ますます人気になるだろう。

  3.xでは、組み込み関数やオブジェクトの振る舞いいくつかの文法は、調整されます。ほとんどのPythonライブラリを選択することができ、バージョンに関係なくので、Python2.xおよび3.xの両方のバージョンをサポートしています。パイソンを使用するためには、いくつかの一般的な落とし穴のバージョンを避けるためである、または移植されたときにPythonプロジェクトを必要とする、まだPythonの2つのバージョンの主な違いを見ることが必要です。

 

  次のように2つのバージョン間の主な違い:

  1.モジュール__future__

  Python3.xキーワードが導入されていて、それがPython2.xの特性と互換性がありません。Python2内蔵モジュールにおいて、新たなコンテンツの__future__に導入することができます。あなたはPython2環境でコードを書きたい場合ものpython3で実行することができ、その後、__future__モジュールをお勧めします。

 

  2.印刷機能

  印刷構文は非常に小さい変化のpython3ですが、知っていたはずですが、まだ言及する価値が:Python2 print文はあなたが必要なのpython3で囲む必要があります手段印刷のpython3()関数に置き換えられますオブジェクトの出力を同封します。Python2もできますが、あなたは括弧なしでPython2プリント関数呼び出しの形でのpython3する場合は、それがでSyntaxError(構文エラー)をトリガーする追加の括弧の使用

 

  3.整数除算

  人々はしばしばのpython3は(間違ったのでSyntaxErrorをトリガしません)整数の除算の変化、およびコードまたはでPython2中のpython3のコードの実行を移植するとき、したがって、この変更に特別な注意を必要と見落とすので。

 

  4.ユニコード

  そこPython2 strのASCIIベースの()タイプ、()関数は、別々のユニコードユニコードの種類、ないbyte型に変換されます。python3のUnicode(UTF-8)文字列とその二つのクラス(バイトByteArrayとして定義)を持ちます。

 

  5.はxrange

  通常の「forループ」または「リスト/コレクション/辞書導出」に表示されていることをイテレータオブジェクトを作成するPython2.xには、頻繁に使用はxrange()。(のpython3では、レンジ()実装とはxrange()関数は同じであるため、専用のはxrangeの非存在下)(のpython3において使用はxrange()はNameErrorをトリガします)。

 

  異常6.トリガー

  Pythonの2構文は異常新旧両方のトリガをサポートしており、括弧3つの文法(またはにSyntaxErrorがトリガーされます)でのPythonサポート。

 

  7.例外処理

  Pythonの3例外処理はほとんど変化しました。Pythonの3のキーワードとして使用されている必要があり、Pythonの2で必要とされていません。

 

  8.次の()関数と.next()メソッド

  (次に())が頻繁に別の構文の変更(実現も行われた変更)に言及するように、次の()関数(メソッド)ために使用されますでのPython 2を形成する方法の形態及び機能を使用することができます。 Pythonの3で、あなただけの次の()関数を使用することができます(()メソッドはAttributeErrorががトリガーされます.next呼び出そうとします)。

 

  ループ変数とグローバルな名前空間のリーク9.

  Pythonの3.xでは、ループ変数は、もはやグローバル名前空間に漏れていないため。

 

  10.比較順不同タイプ

  もう一つの優れたPythonの3の変更は、私たちは、障害の種類を比較しようとした場合、TypeError例外を引き起こしたということです。

 

  11.入力()入力内容を解析

  Pythonの3の改善入力()関数は、この関数は常にオブジェクトのSTRとして格納され、ユーザの入力になります。Pythonの2では、非危険な行動は、文字列型を発生する(raw_inputを使用していた読みを避けるために)の代わりに、入力の()。

 

  12.戻りイテラブルではなく、リスト

  Pythonの3のいくつかの関数やメソッドは、イテレータオブジェクトが返さなく、Pythonの2にリストされて返されます。発電機によるこれらのオブジェクトの複数の反復が、効率が高くない場合、オブジェクトのトラバーサルは一度だけ、大量のメモリを節約します。この時点で、必要であれば、単にイテレート可能オブジェクトリスト()関数はPython 3によるオブジェクトのリストは、リストに変換されます。

おすすめ

転載: www.cnblogs.com/yuyafeng/p/12446179.html