Python 中的取模运算符(%)

Shivam Arora 2023年1月30日
  1. 在算术运算中使用模运算符
  2. 在 Python 的字符串操作中使用 %
Python 中的取模运算符(%)

Python 中用于获取模数的符号是百分比标记%

本文将讨论和理解 Python 中取模运算符(%)的含义和用法。

在算术运算中使用模运算符

模运算符用于算术运算。几乎所有语言都要求此模运算符具有整数操作数。然而,Python Modulo 在这种情况下非常通用。

模数表示为 x%y。像 x%y 这样的表达式对应于 x*y 的余数。它的优先级与乘法和除法运算符的优先级相同。

例如,

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

输出:

0
1

Python 的模运算只抛出一个异常,即 ZeroDivisionError。当模运算符的除法器操作数变为零时,就会发生这种情况。这意味着操作数中不能有零。

请参考以下代码。

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 用于整数。