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

歡迎訪問 生活随笔!

生活随笔

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

python

Python中可变数据类型和不可变数据类型

發布時間:2024/9/5 python 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python中可变数据类型和不可变数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 首先,我們需要知道在python中哪些是可變數據類型,哪些是不可變數據類型。可變數據類型:列表list和字典dict;不可變數據類型:整型int、浮點型float、字符串型string和元組tuple。

用一句話來概括上述過程就是:“python中的不可變數據類型,不允許變量的值發生變化,如果改變了變量的值,相當于是新建了一個對象,而對于相同的值的對象,在內存中則只有一個對象,內部會有一個引用計數來記錄有多少個變量引用這個對象;可變數據類型,允許變量的值發生變化,即如果對變量進行append、+=等這種操作后,只是改變了變量的值,而不會新建一個對象,變量引用的對象的地址也不會變化,不過對于相同的值的不同對象,在內存中則會存在不同的對象,即每個對象都有自己的地址,相當于內存中對于同值的對象保存了多份,這里不存在引用計數,是實實在在的對象。

不可變數據類型代碼示例:

1 a = 1 2 b = 1 3 4 def func(): 5 c = 1 6 print(id(c)) 7 8 9 func() 10 print(id(a)," ",id(b)) 11 #打印的三個id 都是一樣的 12 13 b = 3 14 print(id(b)) #當b的值改變后,id值就改變了

?

可變數據類型代碼示例:

1 a = [1,2,3] 2 print(id(a)) 3 4 a.append(5) 5 print(id(a)) 6 7 #修改列表后打印的值還是一眼的

?對于全局可變數據類型,函數內部是直接可以修改和查看的:

1 a = [1,2,3,4,5] 2 3 def func(): 4 a[3] = 8 #對于可變數據類型,可以在函數內部直接修改 5 6 func() 7 print(a)

對于不可變數據類型,在函數內部只能查看不能直接修改,如果要修改,需要借助于 global 聲明:

示例1:

1 a = 1 2 def func(): 3 print(a) #可以查看 4 a += 1 #但是不能直接修改外部全局變量 這一句報錯 5 func()

示例2:(修改示例1)

1 a = 1 2 def func(): 3 global a 4 print(a) 5 a += 1 6 func() 7 print(a) #a 的值已經被改變

?

轉載于:https://www.cnblogs.com/luojianyi/p/9573742.html

總結

以上是生活随笔為你收集整理的Python中可变数据类型和不可变数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

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