日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python中的xxx+=xxx和xxx=xxx+xxx一些区别及执行过程

發布時間:2023/12/20 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python中的xxx+=xxx和xxx=xxx+xxx一些区别及执行过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

預知小知識:
Python中的變量與其他語言稍有差異,如a = 10并不是直接在內存中創建一個變量a其值為10,而是在內存中創建一個a這個a指向這個10,在Python中所有牽扯到等號的均不是值賦值,全都是引用(C的小伙伴可以大致理解為處處是指針)。

示例代碼:

>>> a = 10 >>> b = 10 >>> id(a) 1686269232 >>> id(b) 1686269232

以上可以看到變量只要賦值一致,他們在本機中的內存地址都一樣。

+=示例代碼:

# coding:utf-8 num = [88]def demo(nums):nums += nums # 將nums指向的這個地址中的[88]和[88]進行合并print(nums) # 兩個列表合并將會得到[88, 88]demo(num) print(num) # 因為是引用類型num所指向的值已發生改變這里也會得到[88, 88]pycharm中執行結果:[88, 88][88, 88] # coding:utf-8 num = [88]def demo(nums):nums = nums + nums # 將nums所指向的[88]和[88]合并讓demo中的零時變量nums重新指向[88, 88]print(nums) # 這里會輸出新的指向結果[88, 88]demo(num) print(num) # demo中的nums為零時指向所以不會影響num的值pycharm中執行結果:[88, 88][88]

總結:
雖然我們常使用xxx+=xxx或xxx=xxx+xxx得到的結果基本是一致的,但是底層執行還是有一些差異的,所以xxx+=xxx不完全等價于xxx=xxx+xxx。

小知識:

python的值類型和引用類型

值類型:

包含:字符串、元組、數值,本身不允許被修改

引用類型:

包含:列表、字典,本身允許修改(不能作用于字典的key,因為會進行一個hash過程可變參數類型是不行的)

轉載于:https://www.cnblogs.com/weibgg/p/10786958.html

總結

以上是生活随笔為你收集整理的Python中的xxx+=xxx和xxx=xxx+xxx一些区别及执行过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。