Python3で最大の整数を取得する関数 - sys.maxsizeについて
Python3 では表示できる整数の上限というのはないらしい。
(逆に言うとPython2ではあったようで、そちらの値は sys.maxint
という関数で値は取得できた。だが、Python3ではこちらの関数自体がなくなっている)
整数の上限はないようだが、最大値を示す整数を取得する関数というのはあるらしい。
Py_ssize_t 型の変数が取りうる最大値を示す整数です。通常、32 ビットプラットフォームでは 231 - 1、64 ビットプラットフォームでは 263 - 1 になります。
私の環境(M1 mac)で実施すると下記のようになる。
sys.maxsize
# => 9223372036854775807
なお、こちらの整数に整数を足しても特にエラーにはならない。
sys.maxsize + 1 # => 9223372036854775808
私の場合、とある数値計算の比較処理で、比較対象の数値よりも必ず大きい整数を返す場合の処理として、この sys.maxsize
を利用することにしたが、こういう関数は他にどういうユースケースがあるのかちょっと気になる。
あとで時間を見つけて調べてみようと思う。