欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中數(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長整型
        float浮點數(shù)
        complex復(fù)數(shù)
        布爾值(0和1)
2、字符串(String)
3、列表(List)
4、元組(Tuple)
5、字典(Dictionary)
6、集合(Set)

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

不可變類型:Number、String、Tuple

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

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

例如Number:

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

可以看到執(zhí)行 i += 1 時,內(nèi)存地址都會變化,因為int 類型是不可變的。

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

可變類型:List、Dictionary、Set

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

例如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,因為list1、list2指向同個內(nèi)存地址,而list1、list2的類型都是List,可變類型,對list1、list2任意一個List進行修改,都會影響另外一個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),值不變,則對象不變;值變,則對象變。

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

內(nèi)容擴展:

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

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

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

相關(guān)文章

  • windows系統(tǒng)中Python多版本與jupyter notebook使用虛擬環(huán)境的過程

    windows系統(tǒng)中Python多版本與jupyter notebook使用虛擬環(huán)境的過程

    這篇文章主要介紹了windows中Python多版本與jupyter notebook中使用虛擬環(huán)境的安裝過程,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • Python采集王者最低戰(zhàn)力信息實戰(zhàn)示例

    Python采集王者最低戰(zhàn)力信息實戰(zhàn)示例

    這篇文章主要為大家介紹了Python采集王者最低戰(zhàn)力信息實戰(zhàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Python地圖繪制實操詳解

    Python地圖繪制實操詳解

    在本文里我們給大家介紹了用Python繪制地圖的知識點以及詳細(xì)步驟,需要的朋友們跟著學(xué)習(xí)下。
    2019-03-03
  • Python hmac模塊使用實例解析

    Python hmac模塊使用實例解析

    這篇文章主要介紹了Python hmac模塊使用實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • python中tkinter復(fù)選框使用操作

    python中tkinter復(fù)選框使用操作

    Python Tkinter 復(fù)選框用來選取我們需要的選項,它前面有個小正方形的方塊,如果選中則有一個對號,也可以再次點擊以取消該對號來取消選中,下面通過代碼介紹下python中tkinter復(fù)選框使用操作,需要的朋友參考下吧
    2021-11-11
  • selenium+python自動化測試之環(huán)境搭建

    selenium+python自動化測試之環(huán)境搭建

    這篇文章主要介紹了selenium+python自動化測試之環(huán)境搭建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox)

    selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox)

    這篇文章主要介紹了selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Python3讀取Excel數(shù)據(jù)存入MySQL的方法

    Python3讀取Excel數(shù)據(jù)存入MySQL的方法

    今天小編就為大家分享一篇Python3讀取Excel數(shù)據(jù)存入MySQL的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 使用遺傳算法求二元函數(shù)的最小值

    使用遺傳算法求二元函數(shù)的最小值

    今天小編就為大家分享一篇使用遺傳算法求二元函數(shù)的最小值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python密碼學(xué)RSA密碼加密教程

    python密碼學(xué)RSA密碼加密教程

    這篇文章主要為大家介紹了python密碼學(xué)RSA密碼加密教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05

最新評論