コンテンツにスキップ

数値、真偽値

Pythonでは、数値を表現する型として下記の3種類があります。

  • 整数: int型
  • 小数: float型
  • 複素数: complex型

足し算

int型同士の足し算は、int型となります。

>>> 1 + 2
3

負の数も扱えます。

>>> -3 + 2
-1

一方がfloat型であれば、float型となります。

>>> -3.0 + 2
-1.0

引き算

足し算と同様です。

>>> 1 - 2
-1
>>> 1.0 - 2
-1.0

掛け算

足し算、引き算と同様です。

>>> 1 * 2
2
>>> -1.0 * 2
-2.0

割り算

結果はfloat型になります。

>>> 3 / 2
1.5
>>> -2.4 / 2
-1.2

割り切れる場合も、必ずfloat型になります。

>>> 4 / 2
2.0

割り切れない場合の整数部を求める

//演算子を使います。結果は必ずint型になります。

>>> 5 // 2
2

/演算子の結果に対し、小数部を切り捨てても計算できます。

>>> int(5 / 2)
2

どちらを使うのが良いか?

//演算子を使うのが良いでしょう。スッキリ書けて、「切り捨て除算がしたい」という意図が明確になります。

割り算の余り

%演算子で、余りが計算できます。結果は必ずint型になります。

>>> 5 % 2
1

割り算の商と余りを同時に計算する

//演算子と%演算子を使えば計算できます。

>>> 5 // 2
2
>>> 5 % 2
1

divmod関数を使うと、より簡潔に書けます。

>>> divmod(5, 2)
(2, 1)

結果はタプルで返るので、アンパックで受け取ると良いでしょう。

>>> p, q = divmod(5, 2)
>>> p # 商
2
>>> q # 余り
1

どちらを使うのが良いか?

より簡潔に書けるdivmodを使うのが良いでしょう。//%を使う場合、割る数と割られる数を2回入力する必要があり煩雑です。また、煩雑であることは不具合の混入やメンテナンスコストの増加に繋がります。

a, b = 5, 2

// aとbをそれぞれ2回入力しなければならない
p, q = a // b, a % b

// aとbを1回のみ入力すれば良い
p, q = divmod(a, b)

log

平方根

累乗

階乗