Python で割り算をするときの切り上げと切り捨て

3 つのやり方

Python で割り算をするときの繰り上げと切り捨て
いくつかやり方がある。

1. 演算子のみを使う。

これがオススメ。欠点は、切り上げが伝わり辛い。利点は、表記が簡潔で実行速度が 10 倍速く、何も import しなくていい。

# 切り捨て
4 // 3
# 切り上げ
-(-4 // 3)

∀Programmer ∃Python

2. math モジュールを使う。

オススメしない。利点は、切り上げが伝わりやすいこと。欠点は、表記が冗長になり 10 倍遅く、math を import しないといけない。

import math
# 切り捨て
math.ceil(4 / 3)
# 切り上げ
math.floor(4 / 3)

3. int モジュールを使う。

オススメしない。利点は、無い。整数であることを強調したい時は、有効だと思います。欠点は、表記が冗長になり 10 倍遅い。

# 切り捨て
int(4 / 3)
# 切り上げ
# 無し

実行速度を比較する。

「1. 演算子のみを使う。」が、一番速い。10 倍も速い。

$ python -m timeit "4 // 3"
100000000 loops, best of 3: 0.0132 usec per loop
$ python -m timeit "(-(-4 // 3))"
100000000 loops, best of 3: 0.0132 usec per loop
$ python -m timeit "int(4 / 3)"
10000000 loops, best of 3: 0.169 usec per loop
$ python -m timeit -s "import math" "math.ceil(4 / 3)"
10000000 loops, best of 3: 0.136 usec per loop
$ python -m timeit -s "import math" "math.floor(4 / 3)"
10000000 loops, best of 3: 0.136 usec per loop