完全のpython3に転送6つのライブラリPython2プロジェクトを使用します

SIXはpython2とのpython3互換性のためのライブラリです。

それは、Python 2とPython 3に一緒に仕事をしなければならないようにコードを変更せずに存在します。それは言われているが、それは簡単にPythonコード2を実行することができます参照ライブラリにはPython 3に意味するものではありません。

実際、SIXはpython2と3の差の関数として再定義された、例えば、辞書のすべての主要な機能をキャプチャ:Python2はで.iterkeysです()

(中のpython3で.keysです)

SIXにsix.iterkeys(辞書)(​​もちろん、対応する機能のオリジナルバージョンを使用することもできる)であります

あなたがかどうかのpython3 Python2で実行することができないコードを書く場合には、SIXライブラリを残しました。互換性を追求するために熱心ではない、あなたはライブラリを使用する必要はありません。

インストール:

https://github.com/benjaminp/six/releases

steup.pyを解凍するためにダブルクリックします。

 

使用

インポート6

後pyhton2 / 3コードにコンパチブルSIXを書き込むために設け構文に従って書かれました。

 

six.PY2 / six.PY3:コンパイラのバージョンを確認python2 / 3であります

 

以下は、SIX互換性のある構文によって提供されています。

定数定義:

six.class_types

クラスの可能なタイプ。古いクラスと新しいクラスが含まれているのPython 2では、。Pythonの3では、これは単に新しいクラスです。

 

six.integer_types

可能な整数型。パイソン2において、それが同じ整数で長いまたはINT、Pythonの3です。

 

six.string_types

テキストデータの可能なタイプ。これはbasestring 3パイソン2()とPythonのSTR端にあります。

 

six.text_type

これは、タイプ(ユニコード)テキストデータを示します。これは、3のstrのPython 2とPython(Pyhon3テキストデータは、デフォルトではUnicodeテキストデータであり、統合されている)でのUnicode()です。

 

six.binary_type

バイナリデータのタイプの代表的。これは、Python 2 STRとPython 3バイトです。

 

six.MAXSIZE

そのような容器としてリストまたは辞書の最大サイズ。これは、Python 2.6に相当以降sys.maxsizeの(3.xのを含む)です。このsys.maxintのPythonの2は非常に類似しているが、同一ではないことに注意してください。整数型の長さだけメモリサイズによって制限されるため、パイソン3には直接相当するsys.maxintありません。

 

組み込み関数の定義

1、six.get_unbound_function(メタ)

メタ得る非結合方法。Pythonの3では、非結合方法は存在しないので、この関数は単にメタ不変返します。使用例:

6インポートget_unbound_functionから

 

クラスX(オブジェクト):

デフ方式(自己):

パス

 

method_function = get_unbound_function(X.method)six.get_method_function(メタ)

 

2、six.get_method_self(メタ)

結合メタ自己を得る方法。

 

3、six.get_function_closure(FUNC)

これは、Python 2.6+とPython 2.5 FUNCと同等です.__ closure__ func.func_closureに

 

4、six.get_function_code(FUNC)

コードオブジェクトに関連するFUNCを取得します。これは、Python 2.6+とPython 2.5 FUNC .__ func.func_codeでcode__に相当します。

 

5、six.get_function_defaults(FUNC)

FUNCに関連付けられたデフォルトのタプルを取得します。これは、Python 2.6+とPython 2.5 FUNC .__ func.func_defaultsでdefaults__に相当します。

 

6、six.get_function_globals(FUNC)

グローバル関数を取得します。これは、Python 2.6+とPython 2.5 FUNC .__ func.func_globalsでglobals__に相当します。

 

7、six.next(IT)six.advance_iterator(IT)

イテレータその中に次の項目を取得します。反復子が最後に到達した場合、それが呼び出すとStopIterationにつながります。パイソンit.next()2とPython 3次(IT).Python 2.6以降で同等のは次の関数を構築し、そのためだけ互換性のあるバージョンとPython 2.5以下で必要な機能である必要があります。

 

8、six.callable(OBJ)

あなたがobjを呼び出すことができるかどうかを確認してください。呼び出し可能なマークが必要のバージョン6を使用している場合のみ、Pythonの3.0または3.1をサポートし、Pythonの3.2で返されました。

 

9、six.iterkeys(字典、** kwargsから)

辞書のキー反復子を返します。2 Pythonでdictionary.iterkeys()と3 dictionary.keysパイソン()に相当します。kwargsからは、基礎となるメソッドに渡されます。

 

10、six.itervalues(字典、** kwargsから)

イテレータ辞書値を返します。2 Pythonでdictionary.itervalues()と3 dictionary.valuesパイソン()に相当します。kwargsからは、基礎となるメソッドに渡されます。

 

11、six.iteritems(字典、** kwargsから)

イテレータ辞書プロジェクトを返します。2 Pythonでdictionary.iteritems()と3 dictionary.itemsパイソン()に相当します。kwargsからは、基礎となるメソッドに渡されます。

 

12、six.iterlists(字典、** kwargsから)

コールdictionary.iterlistsパイソン2()またはPythonで3 dictionary.lists()。Pythonは、元のマッピングタイプような等価ではない。この方法は、このような多値WERKZEUGの辞書として使用することが意図されています。kwargsからは、基礎となるメソッドに渡されます。

 

13、six.viewkeys(辞書)

辞書のキーによってビューを返します。それは、Python 2.7 dict.viewkeys()と3 dict.keysパイソン()と等価です。

 

14、six.viewvalues(辞書)

値ディクショナリビューを返します。それは、Python 2.7 dict.viewvalues()と3 dict.valuesパイソン()と等価です。

 

15、six.viewitems(辞書)

辞書プロジェクトをビューに戻ります。それは、Python 2.7 dict.viewitems()と3 dict.itemsパイソン()と等価です。

 

16、six.create_bound_method(FUNC、OBJ)

メソッドのオブジェクトラッパーFUNCとOBJに結合を返します。types.MethodTypeオブジェクトを返すのPython 2とPython 3、オン。Pythonの2で、MethodTypeコンストラクタは、転送OBJクラスを必要とする、ラッパー関数の存在理由。

 

17、six.create_unbound_method(FUNC、CLS)

結合していないオブジェクトラッパー関数を返す方法。パイソン2に、それはtypes.MethodTypeオブジェクトを返します。Pythonの3では、この方法は、結合していない存在せず、このパッケージは、単にFUNCを返します。

 

18、クラスsix.Iterator

小さなイテレータクラスの製造のために。その目的は、サブクラスと__next__方法を提供することにあります。次:のPython 2、イテレータの方法があります。それは__next__表します。たぶん、あなたは次のちょうどエイリアスは__next__することができます。しかし、それは__next__サブクラス深刻な影響を再定義します。Pythonの3のイテレータは空です。(実際には、それだけで対象と名付けられています。)

 

SIXの機能は、ここで説明します。その公式サイトをご覧くださいより互換性SIX構文を習得するには

http://six.readthedocs.io/

更新はgithubのとSIXライブラリ自体の提案で提供されています。あなたはSIXで問題が発生した場合、願いはgithubの上の問題を提唱します。

 

 

 
 

SIXはpython2とのpython3互換性のためのライブラリです。

それは、Python 2とPython 3に一緒に仕事をしなければならないようにコードを変更せずに存在します。それは言われているが、それは簡単にPythonコード2を実行することができます参照ライブラリにはPython 3に意味するものではありません。

実際、SIXはpython2と3の差の関数として再定義された、例えば、辞書のすべての主要な機能をキャプチャ:Python2はで.iterkeysです()

(中のpython3で.keysです)

SIXにsix.iterkeys(辞書)(​​もちろん、対応する機能のオリジナルバージョンを使用することもできる)であります

あなたがかどうかのpython3 Python2で実行することができないコードを書く場合には、SIXライブラリを残しました。互換性を追求するために熱心ではない、あなたはライブラリを使用する必要はありません。

インストール:

https://github.com/benjaminp/six/releases

steup.pyを解凍するためにダブルクリックします。

 

使用

インポート6

後pyhton2 / 3コードにコンパチブルSIXを書き込むために設け構文に従って書かれました。

 

six.PY2 / six.PY3:コンパイラのバージョンを確認python2 / 3であります

 

以下は、SIX互換性のある構文によって提供されています。

定数定義:

six.class_types

クラスの可能なタイプ。古いクラスと新しいクラスが含まれているのPython 2では、。Pythonの3では、これは単に新しいクラスです。

 

six.integer_types

可能な整数型。パイソン2において、それが同じ整数で長いまたはINT、Pythonの3です。

 

six.string_types

テキストデータの可能なタイプ。これはbasestring 3パイソン2()とPythonのSTR端にあります。

 

six.text_type

これは、タイプ(ユニコード)テキストデータを示します。これは、3のstrのPython 2とPython(Pyhon3テキストデータは、デフォルトではUnicodeテキストデータであり、統合されている)でのUnicode()です。

 

six.binary_type

バイナリデータのタイプの代表的。これは、Python 2 STRとPython 3バイトです。

 

six.MAXSIZE

そのような容器としてリストまたは辞書の最大サイズ。これは、Python 2.6に相当以降sys.maxsizeの(3.xのを含む)です。このsys.maxintのPythonの2は非常に類似しているが、同一ではないことに注意してください。整数型の長さだけメモリサイズによって制限されるため、パイソン3には直接相当するsys.maxintありません。

 

組み込み関数の定義

1、six.get_unbound_function(メタ)

メタ得る非結合方法。Pythonの3では、非結合方法は存在しないので、この関数は単にメタ不変返します。使用例:

6インポートget_unbound_functionから

 

クラスX(オブジェクト):

デフ方式(自己):

パス

 

method_function = get_unbound_function(X.method)six.get_method_function(メタ)

 

2、six.get_method_self(メタ)

結合メタ自己を得る方法。

 

3、six.get_function_closure(FUNC)

これは、Python 2.6+とPython 2.5 FUNCと同等です.__ closure__ func.func_closureに

 

4、six.get_function_code(FUNC)

コードオブジェクトに関連するFUNCを取得します。これは、Python 2.6+とPython 2.5 FUNC .__ func.func_codeでcode__に相当します。

 

5、six.get_function_defaults(FUNC)

FUNCに関連付けられたデフォルトのタプルを取得します。これは、Python 2.6+とPython 2.5 FUNC .__ func.func_defaultsでdefaults__に相当します。

 

6、six.get_function_globals(FUNC)

グローバル関数を取得します。これは、Python 2.6+とPython 2.5 FUNC .__ func.func_globalsでglobals__に相当します。

 

7、six.next(IT)six.advance_iterator(IT)

イテレータその中に次の項目を取得します。反復子が最後に到達した場合、それが呼び出すとStopIterationにつながります。パイソンit.next()2とPython 3次(IT).Python 2.6以降で同等のは次の関数を構築し、そのためだけ互換性のあるバージョンとPython 2.5以下で必要な機能である必要があります。

 

8、six.callable(OBJ)

あなたがobjを呼び出すことができるかどうかを確認してください。呼び出し可能なマークが必要のバージョン6を使用している場合のみ、Pythonの3.0または3.1をサポートし、Pythonの3.2で返されました。

 

9、six.iterkeys(字典、** kwargsから)

辞書のキー反復子を返します。2 Pythonでdictionary.iterkeys()と3 dictionary.keysパイソン()に相当します。kwargsからは、基礎となるメソッドに渡されます。

 

10、six.itervalues(字典、** kwargsから)

イテレータ辞書値を返します。2 Pythonでdictionary.itervalues()と3 dictionary.valuesパイソン()に相当します。kwargsからは、基礎となるメソッドに渡されます。

 

11、six.iteritems(字典、** kwargsから)

イテレータ辞書プロジェクトを返します。2 Pythonでdictionary.iteritems()と3 dictionary.itemsパイソン()に相当します。kwargsからは、基礎となるメソッドに渡されます。

 

12、six.iterlists(字典、** kwargsから)

コールdictionary.iterlistsパイソン2()またはPythonで3 dictionary.lists()。Pythonは、元のマッピングタイプような等価ではない。この方法は、このような多値WERKZEUGの辞書として使用することが意図されています。kwargsからは、基礎となるメソッドに渡されます。

 

13、six.viewkeys(辞書)

辞書のキーによってビューを返します。それは、Python 2.7 dict.viewkeys()と3 dict.keysパイソン()と等価です。

 

14、six.viewvalues(辞書)

値ディクショナリビューを返します。それは、Python 2.7 dict.viewvalues()と3 dict.valuesパイソン()と等価です。

 

15、six.viewitems(辞書)

辞書プロジェクトをビューに戻ります。それは、Python 2.7 dict.viewitems()と3 dict.itemsパイソン()と等価です。

 

16、six.create_bound_method(FUNC、OBJ)

メソッドのオブジェクトラッパーFUNCとOBJに結合を返します。types.MethodTypeオブジェクトを返すのPython 2とPython 3、オン。Pythonの2で、MethodTypeコンストラクタは、転送OBJクラスを必要とする、ラッパー関数の存在理由。

 

17、six.create_unbound_method(FUNC、CLS)

結合していないオブジェクトラッパー関数を返す方法。パイソン2に、それはtypes.MethodTypeオブジェクトを返します。Pythonの3では、この方法は、結合していない存在せず、このパッケージは、単にFUNCを返します。

 

18、クラスsix.Iterator

小さなイテレータクラスの製造のために。その目的は、サブクラスと__next__方法を提供することにあります。次:のPython 2、イテレータの方法があります。それは__next__表します。たぶん、あなたは次のちょうどエイリアスは__next__することができます。しかし、それは__next__サブクラス深刻な影響を再定義します。Pythonの3のイテレータは空です。(実際には、それだけで対象と名付けられています。)

 

SIXの機能は、ここで説明します。その公式サイトをご覧くださいより互換性SIX構文を習得するには

http://six.readthedocs.io/

更新はgithubのとSIXライブラリ自体の提案で提供されています。あなたはSIXで問題が発生した場合、願いはgithubの上の問題を提唱します。

おすすめ

転載: www.cnblogs.com/yecanglan/p/11449381.html