Python のモジュロ演算子(%)

Shivam Arora 2023年1月30日
  1. 算術演算でモジュロ演算子を使用する
  2. Python の文字列操作で%を使用する
Python のモジュロ演算子(%)

Python でモジュロを取得するために使用される記号は、パーセンテージマーク%です。

この記事では、Python でのモジュロ演算子(%)の意味と使用法について説明し、理解します。

算術演算でモジュロ演算子を使用する

モジュロ演算子は、算術演算に使用されます。ほとんどすべての言語では、このモジュロ演算子に整数のオペランドが必要です。ただし、この場合、PythonModulo は非常に用途が広いです。

モジュロは x%y として表されます。x%y のような式は、x%y の余りに対応します。その優先順位は、乗算および除算演算子の優先順位と同じです。

例えば、

a = 10
b = 2
c = 11
print(a % b)
print(c % b)

出力:

0
1

Python のモジュロ演算は、ZeroDivisionError という 1つの例外のみをスローします。これは、モジュロ演算子の除算オペランドがゼロになったときに発生します。つまり、オペランドにゼロを含めることはできません。

次のコードを参照してください。

a = 5
b = 0
try:
    print(a % b)

except ZeroDivisionError as err:
    print("not divisible by zero!")

出力:

divisible by zero!

上記の例では、try...except ブロックを使用して例外を処理しました。変数 b の値がゼロであるため、%は例外を発生させました。

Python の文字列操作で%を使用する

文字列の書式設定では、%は、値を使用して文字列内の値を置き換えるためにも使用されます。%= 式を使用して、辞書を使用して値を置き換えることができます。

例えば、

x = "abc_%(key)s"
x %= {"key": "def"}
print(x)

出力:

abc_def

この演算子を使用して、key の値を value に置き換えました。パターンに基づいて文字列をフォーマットする場合の文字列フォーマットでも使用されます。文字列、数値などのさまざまな値のプレースホルダーとして機能します。

例えば、

a = "abc"
b = 5
print("%s %d" % (a, b))

出力:

abc 5

文字列の場合は%s を使用し、整数の場合は%d を使用します。