最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中數(shù)字是否為可變類型

 更新時(shí)間:2020年07月08日 14:26:13   作者:silencement  
在本篇文章里小編給大家整理了關(guān)于python中數(shù)字是否為可變類型的相關(guān)文章內(nèi)容,需要的朋友們可以學(xué)習(xí)下。

本文以Python3為例,包括六種數(shù)據(jù)類型:

1、數(shù)字(Number):
        int整型
        long長(zhǎng)整型
        float浮點(diǎn)數(shù)
        complex復(fù)數(shù)
        布爾值(0和1)
2、字符串(String)
3、列表(List)
4、元組(Tuple)
5、字典(Dictionary)
6、集合(Set)

通過(guò)id函數(shù)查看變量i的內(nèi)存地址進(jìn)行驗(yàn)證(使用hex(id(i)) 可以查看16進(jìn)制的內(nèi)存地址)

不可變類型:Number、String、Tuple

對(duì)不可變類型的變量重新賦值,實(shí)際上是重新創(chuàng)建一個(gè)不可變類型的對(duì)象,并將原來(lái)的變量重新指向新創(chuàng)建的對(duì)象(如果沒(méi)有其他變量引用原有對(duì)象的話(即引用計(jì)數(shù)為0),原有對(duì)象就會(huì)被回收)。

對(duì)于不可變類型int,無(wú)論創(chuàng)建多少個(gè)不可變類型,只要值相同,都指向同個(gè)內(nèi)存地址。

例如Number:

>>> number1 = 123
>>> id(number1)
8790928028112
>>> number2 = 123
>>> id(number2)
8790928028112
>>> number3 = 321
>>> id(number3)
49143760
>>>

可以看到執(zhí)行 i += 1 時(shí),內(nèi)存地址都會(huì)變化,因?yàn)閕nt 類型是不可變的。

>>> i = 5
>>> id(i)
8791205700368
>>> i += 1
>>> id(i)
8791205700400
>>>
>>> j = i
>>> id(j)
8791205700400
>>> j
6
>>>

可變類型:List、Dictionary、Set

對(duì)可變數(shù)據(jù)類型重新賦值,并沒(méi)有創(chuàng)建新的對(duì)象。

例如List:

>>> list1 = [1,2,3,4,5]
>>> id(list1)
49307976
>>> list2 = [1,2,3,4,5]
>>> id(list2)
49307784
>>> list1.append(123)
>>> list1
[1, 2, 3, 4, 5, 123]
>>> id(list1)
49307976
>>>

如果執(zhí)行l(wèi)ist1=list2,因?yàn)閘ist1、list2指向同個(gè)內(nèi)存地址,而list1、list2的類型都是List,可變類型,對(duì)list1、list2任意一個(gè)List進(jìn)行修改,都會(huì)影響另外一個(gè)List的值。

>>> list1
[1, 2, 3, 4, 5, 123]
>>> id(list1)
49307976
>>>
>>> list1 = list2
>>> id(list1)
49307784
>>> id(list2)
49307784
>>> list2
[1, 2, 3, 4, 5]
>>> list2.append(456)
>>> list1
[1, 2, 3, 4, 5, 456]
>>> list2
[1, 2, 3, 4, 5, 456]
>>>

總而言之:

不可變類型是指向值(Value),值不變,則對(duì)象不變;值變,則對(duì)象變。

可變數(shù)據(jù)類型是指向名字(Name),名不變,則對(duì)象不變;名變,則對(duì)象變。

內(nèi)容擴(kuò)展:

Python中可變類型和不可變類型的數(shù)據(jù)?

  1. 可變類型有l(wèi)ist,dict.不可變類型有string,number,tuple.
  2. 當(dāng)進(jìn)行修改操作時(shí),可變類型傳遞的是內(nèi)存中的地址,也就是說(shuō),直接修改內(nèi)存中的值,并沒(méi)有開辟新的內(nèi)存。
  3. 不可變類型被改變時(shí),并沒(méi)有改變?cè)瓋?nèi)存地址中的值,而是開辟一塊新的內(nèi)存,將原地址中的值復(fù)制過(guò)去,對(duì)這塊新開辟的內(nèi)存中的值進(jìn)行操作。

到此這篇關(guān)于python中數(shù)字是否為可變類型的文章就介紹到這了,更多相關(guān)python中數(shù)字是不可變類型嗎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

龙陵县| 金塔县| 留坝县| 呼玛县| 耿马| 金湖县| 登封市| 尚志市| 武宣县| 山丹县| 台北县| 娄烦县| 潜山县| 宜州市| 奉节县| 重庆市| 会东县| 盈江县| 洪雅县| 苍溪县| 贵港市| 柘城县| 灵璧县| 满洲里市| 苏尼特右旗| 定陶县| 资溪县| 涟水县| 年辖:市辖区| 沽源县| 贡觉县| 武安市| 射洪县| 五台县| 安阳县| 宁晋县| 赣榆县| 福泉市| 奇台县| 郯城县| 中西区|