Python中的增強賦值語句及其作用
阿新 • • 發佈:2018-11-23
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]) >>>