Python 中的就地运算符

2025年3月17日 | 阅读 7 分钟

Python 提供了一套原地运算符。原地运算符允许您对变量执行算术、逻辑和位运算,从而原地更新其值。这些运算符通过将赋值运算符 (=) 与另一个运算符结合来表示。它提高了程序的性能并节省了内存。

在本文中,我们将探讨 Python 中可用的各种原地运算符以及示例。

1. iadd() - 原地加法

iadd(x, y) 运算符执行原地加法运算。它会更新变量的值为其结果。它用 += 符号表示。

输出

Original, a = 5
Updated, a = 9

上面的代码演示了如何执行原地加法。

2. isub() - 原地减法

isub(x, y) 运算符执行原地减法运算。它会更新变量的值为其结果。它用 -= 符号表示。

输出

Original, a = 5
Updated, a = 1

上面的代码演示了如何执行原地减法。

3. imul() - 原地乘法

imul(x, y) 运算符执行原地乘法运算。它会更新变量的值为其结果。它用 *= 符号表示。

输出

Original, a = 5
Updated, a = 20

上面的代码演示了如何执行原地乘法。

4. itruediv() - 原地真除法

itruediv(x, y) 运算符执行原地真除法运算。它会更新变量的值为其结果。它用 /= 符号表示。

输出

Original, a = 5
Updated, a = 1.25

上面的代码演示了如何执行原地真除法。

5. iand(), ior(), ixor() - 原地位 AND, 位 OR, 位 XOR

iand(x, y) 运算符执行原地位 AND 运算。它用 &= 符号表示。

ior(x, y) 运算符执行原地位 OR 运算。它用 |= 符号表示。

ixor(x, y) 运算符执行原地位 XOR 运算。它用 ^= 符号表示。

它们都会用结果更新变量的值。

输出

Original, a = 5
Original, c = 3
Original, d = 2
Updated, a = 4
Updated, c = 7
Updated, d = 6
In-place Operators in Python

上面的代码演示了如何执行原地 AND、OR 和 XOR 运算。

6. imod() 和 ifloordiv() - 原地取模和整除

imod(x, y) 运算符执行原地取模运算。它用 %= 符号表示。

ifloordiv(x, y) 运算符执行原地整除运算。它用 //= 符号表示。

它们用结果更新变量的值。

输出

Original, a = 5
Original, c = 15
Updated, a = 1 # Remainder when 5 is divided by 4
Updated, c = 3 # Floor value of the result

上面的代码演示了如何执行原地取模和整除运算。

7. ilshift() 和 irshift() - 原地左移和右移

ilshift(x, y) 运算符执行原地左移运算。它用 <<= 符号表示。

irshift(x, y) 运算符执行原地右移运算。它用 >>= 符号表示。

它们用结果更新变量的值。

输出

Original, a = 20
Original, b = 25
Updated, a = 80
Updated, b = 6
In-place Operators in Python

上面的代码演示了如何执行原地取模和整除运算。

8. ipow() - 原地幂运算

ipow(x, y) 运算符执行原地幂运算。它用 **= 符号表示。它会更新变量的值为其结果。

输出

Original, a = 10
Updated, a = 100

上面的代码演示了如何执行原地幂运算。

9. imatmul() - 原地矩阵乘法

imatmul() 运算符执行原地矩阵乘法运算。它会更新变量的值为其结果。它用 @= 符号表示。

输出

Original, a = [[1 2] [3 4]]
Updated, a = [[19 22] [43 50]]
In-place Operators in Python

上面的代码演示了如何执行原地矩阵乘法运算。

10. iconcat() - 原地连接

iconcat(x, y) 执行原地连接运算。它用 += 符号表示,用于连接字符串、列表和其他序列。它会更新变量的值为其连接结果。

输出

Original, s = Hello
Updated, s = Hello World
Original, numbers = [1, 2, 3]
Updated, numbers = [1, 2, 3, 4, 5]

上面的代码演示了如何执行原地连接运算。

结论

总之,原地运算符允许您原地执行各种运算,这意味着在不创建新变量或对象的情况下更新变量的值。它们提供了一种高效的执行运算、节省内存并使代码更具可读性的方法。通过使用这些原地运算符,您可以简化代码并提高其性能。