python標(biāo)準(zhǔn)庫(kù) python中的immutable和mutable(不可變與可變)應(yīng)該怎么理解?
python中的immutable和mutable(不可變與可變)應(yīng)該怎么理解?Python數(shù)據(jù)類(lèi)型分為可變和不可變。不可變類(lèi)型包含字符串(STR)、整數(shù)(int)、元組(tuple);變量類(lèi)型包含列
python中的immutable和mutable(不可變與可變)應(yīng)該怎么理解?
Python數(shù)據(jù)類(lèi)型分為可變和不可變。不可變類(lèi)型包含字符串(STR)、整數(shù)(int)、元組(tuple);變量類(lèi)型包含列表(list)、字典(dict)。它是否為變量類(lèi)型取決于內(nèi)存單元的值是否可以更改。如果內(nèi)存單元的值不可更改,在對(duì)對(duì)象本身進(jìn)行操作時(shí),必須在內(nèi)存的另一部分申請(qǐng)另一個(gè)內(nèi)存單元(因?yàn)榕f的內(nèi)存單元是不可變的),舊的內(nèi)存單元將被丟棄(如果有其他的ref,ref數(shù)將減少1,類(lèi)似于Unix中的硬鏈接);如果它是可變的,在對(duì)對(duì)象進(jìn)行操作時(shí),不需要再使用它來(lái)申請(qǐng)其它地方的內(nèi)存,只需要在這個(gè)對(duì)象之后連續(xù)(/-)地申請(qǐng),即它的地址不變,但區(qū)域會(huì)變長(zhǎng)或變短。
python字典為什么是可變對(duì)象?
對(duì)象、列表和字典都是變量類(lèi)型。添加新元素時(shí),不會(huì)更改自己的指針。對(duì)于其他人,更改內(nèi)容會(huì)更改當(dāng)前指針。在函數(shù)中傳遞值是非常明顯的。傳遞過(guò)去的內(nèi)容,更改函數(shù)中的內(nèi)容,執(zhí)行函數(shù),再看外面更改的內(nèi)容,可以看到內(nèi)容已經(jīng)更改了
有時(shí)你可能會(huì)認(rèn)為函數(shù)可以有任意數(shù)量的變量,即參數(shù)的數(shù)量是可變的,可使用星號(hào)實(shí)現(xiàn)(將下面的情況另存為函數(shù))變量.py):
代碼示例:
def Total(a=5,*數(shù)字,**電話(huà)簿):
print(“a”,a)
#遍歷元組中的所有項(xiàng)
對(duì)于數(shù)字中的單個(gè)項(xiàng):
打印(“singleuitem”,singleuitem[item
]#遍歷字典中的所有項(xiàng)
對(duì)于第一部分,第二部分,在電話(huà)簿.items():
打?。ǖ谝徊糠郑诙糠郑?/p>
python可變參數(shù)?
圖書(shū),可以去巨星數(shù)據(jù)庫(kù)和獨(dú)秀學(xué)術(shù)搜索,數(shù)據(jù)結(jié)構(gòu)和python,也可以直接去圖書(shū)館,有很多,