Python數(shù)據(jù)類型分為值類型和引用類型, 下面我們看下它們的區(qū)別:
值類型:
對(duì)象本身不允許修改,數(shù)值的修改實(shí)際上是讓變量指向了一個(gè)新的對(duì)象
包含:字符串、元組、數(shù)值,本身不允許被修改
引用類型:
對(duì)象本身可以修改,
包含:列表、字典,本身允許修改
例子:
a = 11 print id(a) a = 16 print id(a)
結(jié)果:
43525053L 57628312L
修改值類型的值,只是讓它指向一個(gè)新的內(nèi)存地址,并不會(huì)改變變量b的值
l = [1,2,3] print id(l) l[0] = 0 print id(l)
結(jié)果:
19775281L 19775281L
修改引用類型的值,因?yàn)閘istb的地址和lista的一致,所以也會(huì)被修改
一般只為了復(fù)制值,可以使用分片操作
listb = lista[:]
下面在單獨(dú)看下python的值類型和引用類型
值類型:
包含:字符串、元組、數(shù)值,本身不允許被修改
引用類型:
包含:列表、字典,本身允許修改
a = 2 b = a a = 3
修改值類型的值,只是讓它指向一個(gè)新的內(nèi)存地址,并不會(huì)改變變量b的值
lista = [1,2] listb = lista lista[0] = 3
修改引用類型的值,因?yàn)閘istb的地址和lista的一致,所以也會(huì)被修改
一般只為了復(fù)制值,可以使用分片操作
listb = lista[:]
總結(jié)
以上所述是小編給大家介紹的Python引用類型和值類型的區(qū)別與使用,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
