📜  Python中的就地运算符 |设置 1 (iadd()、isub()、iconcat()…)(1)

📅  最后修改于: 2023-12-03 15:19:29.094000             🧑  作者: Mango

Python中的就地运算符 |设置 1 (iadd()、isub()、iconcat()…)

在 Python 中,我们经常会使用 +=、-=、*=、/=、%= 等运算符来对变量进行原地运算(In-place Operator)。这些运算符可以使代码更加简洁和易读。

Python 还提供了一些其他的就地运算符(In-place Operator),其中就包括了 iadd()、isub()、iconcat() 等。

iadd()

iadd() 可以让我们在原地对数字进行加法操作,例如:

a = 1
a += 2
print(a)  # 输出3

b = 1
b = b.__iadd__(2)
print(b)  # 输出3

其中,a += 2 相当于 a = a.__iadd__(2)。这里有一个小技巧,就是在 Python 中,我们可以使用 __iadd__ 来调用 iadd()。

isub()

isub() 可以让我们在原地对数字进行减法操作,例如:

a = 5
a -= 2
print(a)  # 输出3

b = 5
b = b.__isub__(2)
print(b)  # 输出3

其中,a -= 2 相当于 a = a.__isub__(2)。同样地,我们可以使用 __isub__ 来调用 isub()。

iconcat()

iconcat() 可以让我们在原地对字符串、列表、元组等进行拼接操作,例如:

a = "Hello"
a += " world"
print(a)  # 输出 "Hello world"

b = "Hello"
b = b.__iconcat__(" world")
print(b)  # 输出 "Hello world"

其中,a += " world" 相当于 a = a.__iconcat__(" world")。同样地,我们可以使用 __iconcat__ 来调用 iconcat()。

总结

Python 中的就地运算符可以让我们在原地对数字、字符串、列表、元组等进行操作,避免了创建新的变量的开销,使代码更加简洁和易读。常见的就地运算符有 +=、-=、*=、/=、%= 等,同时还有 iadd()、isub()、iconcat() 等。