回答:
整数の値に制限がなくなったため、sys.maxint定数が削除されました。ただし、sys.maxsizeは、実際のリストまたは文字列インデックスよりも大きい整数として使用できます。これは、実装の「自然な」整数サイズに準拠し、通常、同じプラットフォーム上の以前のリリースのsys.maxintと同じです(同じビルドオプションを想定)。
他の人が指摘したように、Python 3にint
は最大サイズがありませんが、他のどのint
値よりも高いことが保証されているものが必要な場合は、で取得できるInfinityの浮動小数点値を使用できますfloat("inf")
。
Python 3 intには最大値はありません。
Pythonと同じようにコンパイルしたときにCでのintの最大サイズを決定することが目的である場合は、structモジュールを使用して次のことを確認できます。
>>> import struct
>>> platform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1
Python 3 intオブジェクトの内部実装の詳細について知りたい場合はsys.int_info
、桁あたりのビット数と桁サイズの詳細を確認してください。通常のプログラムではこれらを気にする必要はありません。
Python 3のintは任意の長さなので、Python 3.0にはsys.maxintがありません。sys.maxintの代わりにsys.maxsizeがあります。正のサイズのsize_tまたはPy_ssize_tの最大サイズ。