Python中的增强赋值语句及其作用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jerry_1126/article/details/83999880

Python中的增强赋值语句,从C中借鉴而来,从Python 2.0开始出现。

普通赋值语句

>>> X = 100
>>> Y = 200
>>> X = X + Y
>>> X
300
>>> a = "Hello"
>>> b = "World"
>>> a = a + b
>>> a
HelloWorld

增强赋值语句

>>> X = 100
>>> Y = 200
>>> X += Y
>>> X
300
>>> a = "Hello"
>>> b = "World"
>>> a += b
>>> a
HelloWorld

常见增强赋值语句

>>> X += Y           # 等价于 X = X + Y
>>> X -= Y           # 等价于 X = X - Y
>>> X &= Y           # 等价于 X = X & Y
>>> X |= Y           # 等价于 X = X | Y
>>> X *= Y           # 等价于 X = X * Y
>>> X /= Y           # 等价于 X = X / Y
>>> X //=Y           # 等价于 X = X // Y
>>> X ^= Y           # 等价于 X = X ^ Y
>>> X >>= Y          # 等价于 X = X >> Y
>>> X %= Y           # 等价于 X = X % Y
>>> X **= Y          # 等价于 X = X ** Y  

增强赋值语句的优点

  • 可以减少程序员输入
  • 左侧只需计算一次。在X += Y中,X可以是复杂的对象表达式。在增强形式中,则只需要计算一次,速度更快!
  • 优化技术会自动选择。对于支持原处修改的对象而言,增强形式会自动执行原处修改运算,而不是拷贝,速度更快!
>>> L = [1, 2]
>>> M = L                       # M,L此时为同一个对象
>>> L = L + [3, 4]              # 执行此操作时,创建了一个新对象
>>> L, M                        # 此时M,L的对象及值都不同
([1, 2, 3, 4], [1, 2])
>>>
>>> L = [1, 2]
>>> M = L                       # M,L此时为同一个对象
>>> L += [3, 4]                 # 执行此操作时,在原处修改,相当于L.append()操作
>>> L,M                         # 还是同一个对象,速度比普通赋值要快!
([1, 2, 3, 4], [1, 2, 3, 4])
>>>

猜你喜欢

转载自blog.csdn.net/Jerry_1126/article/details/83999880
今日推荐