Python3で整数型の最大値はsys.maxsize
として定義されています(URL: https://docs.python.jp/3/library/sys.html#sys.maxsize )。たとえばC言語風のforループがサポートされている言語で、以下のように書く処理があるとします。
for (int i = 1; ; i++) {
if (isOK(i)) {
break;
}
do_someting(i);
}
これと同じ処理をPython3で実装する、かつfor
とrange
を利用する場合は、以下のようになるはずです。
import sys
for i in range(1, sys.maxsize):
if is_ok(i):
break
do_something(i)
sys.maxsize
を利用しない場合は次のような書き方になりますが、__iのインクリメント(i += 1
)を忘れて大変な目にあいがち__なので、個人的には好きではありません(´・ω・`)
i = 1
while not is_ok(i):
do_something(i)
i += 1
わたしの思いつく限り、Python3でよく利用される数値型としては以下のものがあげられます。
float
decimal.Decimal
fractions.Fraction
float
とDecimal
については「無限大」がサポートされています。「最大値」も取得できなくはないようですが、基本的には「無限大」で事足りるように思います。
import decimal
float('inf')
float('infinity')
decimal.Decimal('inf')
decimal.Decimal('infinity')
fraction.Fractions
は有理数を扱うクラスです。その性質から「最大値」や「無限大」という概念はサポート外になっているようです(´・ω・`)