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

Python可變與非可變數(shù)據(jù)類型示例詳解

 更新時(shí)間:2026年03月20日 09:49:18   作者:配奇  
Python中可變與不可變數(shù)據(jù)類型有顯著差異,可變?nèi)缌斜怼⒆值淇稍匦薷?不可變?nèi)缱址?、元組需創(chuàng)建新對(duì)象,這篇文章主要介紹了Python可變與非可變數(shù)據(jù)類型的相關(guān)資料,需要的朋友可以參考下

Python可變與非可變數(shù)據(jù)類型

引用變量

在大多數(shù)編程語(yǔ)言中,值的傳遞通??梢苑譃閮煞N形式“值傳遞與引用(地址)傳遞”,但是在Python中變量的傳遞基本上都是引用(地址)傳遞。

變量在內(nèi)存底層的存儲(chǔ)形式

a = 10

第一步: 在計(jì)算機(jī)內(nèi)存中創(chuàng)建一個(gè)數(shù)值為10(占用一塊內(nèi)存空間)

第二步: 在??臻g中聲明一個(gè)變量,如a

第三步: 把數(shù)值10的內(nèi)存地址賦予給變量a,形成所謂的"引用關(guān)系"

變量的引用關(guān)系

使用內(nèi)置方法id(),其參數(shù)就是要顯示的變量信息,id(變量名稱)查詢內(nèi)存地址

a = 10
print(id(a))

把一個(gè)變量賦予給另一個(gè)變量

a = 10
b = a
print(id(a))
print(id(b))

運(yùn)行結(jié)果:

說(shuō)明: 由以上運(yùn)行結(jié)果可知, 當(dāng)我們把一個(gè)變量賦予給另外一個(gè)變量時(shí), 其兩者指向的內(nèi)存地址相同. 可知a和b指向了同一塊內(nèi)存空間,原理圖如下:

若b =a 以后, 改變了變量a的值, 變量是否會(huì)改變呢

a = 10
b = a

a = 100
print(b)  # 10 或 100

print(id(a))
print(id(b))

運(yùn)行結(jié)果:

原理圖:

總結(jié):不可變數(shù)據(jù)類型(數(shù)值)在賦值以后, 其中一個(gè)值的改變不影響另外一個(gè)變量,因?yàn)閮烧咧赶蚩臻g地址不同

可變和非可變數(shù)據(jù)類型

數(shù)據(jù)類型

Python中一共有7種數(shù)據(jù)類型: 數(shù)值(int整型, float浮點(diǎn)類型) , bool類型(True和False) , 字符串類型(str) , 元組(tuple) , 列表(list[1, 2, 3]) , 字典(dict {key:value}) , 集合(set {1, 2})

將以上7種數(shù)值類型分為兩大類型:可變類型 和 非可變類型

可變類型:內(nèi)存一旦固定,其值就不能發(fā)生改變

  • 數(shù)值(int整型、float浮點(diǎn)類型)
  • bool類型(True和False)
  • 字符串類型(str)
  • 元組(tuple 1,2,3)

**不可變類型:**內(nèi)存地址一旦固定,其值是可以發(fā)生改變

  • 列表(list [1, 2, 3])
  • 字典(dict {key:value})
  • 集合(set {1, 2})

判斷數(shù)據(jù)類型是可變型還是非可變型

在Python中,可變類型與非可變類型主要是通過這個(gè)數(shù)據(jù)類型在內(nèi)存中的表現(xiàn)形式來(lái)進(jìn)行定義的

可變類型就是在內(nèi)存中,其內(nèi)存地址一旦固定,其變量的值是可以發(fā)生改變的

a = [1, 2, 3]
print(id(a))

# 向內(nèi)存中追加新數(shù)據(jù)
a.append(4)
print(id(a))

運(yùn)行結(jié)果:

原理圖:

非可變類型就是在內(nèi)存中,內(nèi)存地址一旦固定,其變量的值就沒辦法發(fā)生任何改變了

a = 10
print(id(a))

a = 'hello'
print(id(a))

運(yùn)行結(jié)果:

原理圖:

在函數(shù)中的應(yīng)用

可變類型

# 定義一個(gè)函數(shù)
def func(ls):
    # 在函數(shù)內(nèi)部添加元素
    ls.append('蘋果')
    print(fruits)
    # ['草莓', '梨', '香蕉', '西瓜', '蘋果']


# 定義一個(gè)全局變量
fruits = ['草莓', '梨', '香蕉', '西瓜']
# 調(diào)用函數(shù)
func(fruits)
# 在全局作用域內(nèi)打印列表
print(fruits)
# ['草莓', '梨', '香蕉', '西瓜', '蘋果']

可變類型在函數(shù)中,如果在全局或局部中對(duì)可變類型進(jìn)行增刪改操作, 其外部和內(nèi)部都會(huì)受到影響

不可變類型

# 定義一個(gè)函數(shù)
def func(num):
    num += 1
    print(num) # 11


# 定義一個(gè)全局變量
a = 10
# 調(diào)用函數(shù)
func(a)
# 在全局作用域中打印a
print(a) # 10

不可變類型在函數(shù)中,局部和全局的改變對(duì)外部和內(nèi)部都沒有任何影響

總結(jié) 

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

相關(guān)文章

  • Pytho的HTTP交互httpx包模塊使用詳解

    Pytho的HTTP交互httpx包模塊使用詳解

    Python 的 httpx 包是一個(gè)用于 HTTP 交互的一個(gè)優(yōu)秀且靈活的模塊。本文進(jìn)行詳細(xì)的講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Python 機(jī)器學(xué)習(xí)第一章環(huán)境配置圖解流程

    Python 機(jī)器學(xué)習(xí)第一章環(huán)境配置圖解流程

    機(jī)器學(xué)習(xí)是一類算法的總稱,這些算法企圖從大量歷史數(shù)據(jù)中挖掘出其中隱含的規(guī)律,并用于預(yù)測(cè)或者分類,更具體的說(shuō),機(jī)器學(xué)習(xí)可以看作是尋找一個(gè)函數(shù),輸入是樣本數(shù)據(jù),輸出是期望的結(jié)果,只是這個(gè)函數(shù)過于復(fù)雜,以至于不太方便形式化表達(dá)
    2021-11-11
  • Python常用的數(shù)據(jù)清洗方法詳解

    Python常用的數(shù)據(jù)清洗方法詳解

    這篇文章主要介紹了Python常用的數(shù)據(jù)清洗方法,在數(shù)據(jù)處理的過程中,一般都需要進(jìn)行數(shù)據(jù)的清洗工作,如數(shù)據(jù)集是否存在重復(fù)、是否存在缺失、數(shù)據(jù)是否具有完整性和一致性、數(shù)據(jù)中是否存在異常值等,需要的朋友可以參考下
    2023-07-07
  • 對(duì)python中array.sum(axis=?)的用法介紹

    對(duì)python中array.sum(axis=?)的用法介紹

    今天小編就為大家分享一篇對(duì)python中array.sum(axis=?)的用法介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-06-06
  • TensorFlow MNIST手寫數(shù)據(jù)集的實(shí)現(xiàn)方法

    TensorFlow MNIST手寫數(shù)據(jù)集的實(shí)現(xiàn)方法

    MNIST數(shù)據(jù)集中包含了各種各樣的手寫數(shù)字圖片,這篇文章主要介紹了TensorFlow MNIST手寫數(shù)據(jù)集的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2020-02-02
  • 深入理解Python虛擬機(jī)中字典(dict)的實(shí)現(xiàn)原理及源碼剖析

    深入理解Python虛擬機(jī)中字典(dict)的實(shí)現(xiàn)原理及源碼剖析

    這篇文章主要介紹了在?cpython?當(dāng)中字典的實(shí)現(xiàn)原理,在本篇文章當(dāng)中主要介紹在早期?python3?當(dāng)中的版本字典的實(shí)現(xiàn),現(xiàn)在的字典做了部分優(yōu)化,希望對(duì)大家有所幫助
    2023-03-03
  • python利用JMeter測(cè)試Tornado的多線程

    python利用JMeter測(cè)試Tornado的多線程

    這篇文章主要介紹了python利用JMeter測(cè)試Tornado的多線程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 純numpy數(shù)值微分法實(shí)現(xiàn)手寫數(shù)字識(shí)別

    純numpy數(shù)值微分法實(shí)現(xiàn)手寫數(shù)字識(shí)別

    本文主要介紹了純numpy數(shù)值微分法實(shí)現(xiàn)手寫數(shù)字識(shí)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python map及filter函數(shù)使用方法解析

    Python map及filter函數(shù)使用方法解析

    這篇文章主要介紹了Python map及filter函數(shù)使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python中time.ctime()實(shí)例用法

    python中time.ctime()實(shí)例用法

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python中time.ctime()實(shí)例用法內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-02-02

最新評(píng)論

南涧| 柳林县| 石楼县| 广水市| 北川| 汶川县| 平顺县| 静安区| 北票市| 永嘉县| 南木林县| 顺昌县| 惠来县| 博白县| 连平县| 合川市| 静宁县| 疏勒县| 府谷县| 安西县| 佛坪县| 钦州市| 抚顺市| 宁晋县| 子洲县| 海伦市| 文山县| 紫阳县| 延安市| 内乡县| 房产| 尼玛县| 长阳| 紫金县| 红河县| 通河县| 文安县| 赣榆县| 大城县| 呼和浩特市| 余江县|