久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python可變和不可變類型

這章我們講可變與不可變類型,可變與不可變類型是對我們前面學(xué)的基本數(shù)據(jù)類型,整型、浮點(diǎn)型、字符串類型、列表類型、字典類型以及布爾值類型,這些類型到底是可以改變?;鬯虏豢梢愿淖儯瑥倪@個角度懟他們進(jìn)行分類。

到底什么是可變類型呢?可變類型指的是,值改變的情況下,id不變,說明改的是原值對吧,這里我們說的值是指堆區(qū)里面的內(nèi)容。

然后我們再來看不可變類型,理解了前面可變類型的意思,不可變類型就簡單了。就是值改變的情況下,id也改變了。

先以字符串舉個例子,我先定義一個name=‘于謙’,然后再改變一下把于謙換成郭德綱,再打印出來看他們兩個的id是否一樣,如果不一樣,那就說明字符串是不可變類型。

我們看到打印出來的兩個id是完全的不一樣的。所有的賦值操作,都會申請新的內(nèi)存空間,產(chǎn)生新的值。

還有整型、浮點(diǎn)型、布爾值類型都是不可變類型。,它們都是不可分割的整體,不能被改變。

都可以用剛才的方法再去驗(yàn)證一下,這里我就不再演示了。

但是列表和字典就算你用剛剛的驗(yàn)證方法來看,id都是會改變的。就是容器類型有一點(diǎn)不一樣,就那列表來說,列表里的某一個值,我們都是可以單獨(dú)進(jìn)行改變的。

我先定義一個列表,然后我在打印一下列表的id號,接著我把列表的1號索引的只改變一下,然后再打印列表,證明我已經(jīng)改變過值了。然后繼續(xù)打印列表的id號,但是兩個id都是一樣的。

這就說明,列表里面包含多個內(nèi)存地址,我們改的只是其中意的,但是列表本身的內(nèi)存地址我們沒有去改變它,所以說列表是可變類型。

到這里我想你們應(yīng)該明白了,列表和字典這兩種容器類型就是可變類型,字典我就不去驗(yàn)證了,你們可以自己練習(xí)一下。

不過字典我在這里需要補(bǔ)充一下,前面我們說過字典是在大括號‘{}‘’內(nèi)用逗號‘,’分隔多個key:value,這個value可以是任意類型的值。

但是字典的key必須是不可變類型。我們也說過字典的key我們一般情況下都是字符串類型,整型、浮點(diǎn)型、字符串類型甚至布爾值類型都可以當(dāng)作字典的key。

這種情況基本不會發(fā)生,我們正常都不會這寫字典。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python可變和不可變類型

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞