string為什么是不可變的 python中的immutable和mutable(不可變與可變)應(yīng)該怎么理解?
python中的immutable和mutable(不可變與可變)應(yīng)該怎么理解?Python數(shù)據(jù)類型分為可變和不可變。不可變類型包含字符串(STR)、整數(shù)(int)、元組(tuple);變量類型包含列
python中的immutable和mutable(不可變與可變)應(yīng)該怎么理解?
Python數(shù)據(jù)類型分為可變和不可變。不可變類型包含字符串(STR)、整數(shù)(int)、元組(tuple);變量類型包含列表(list)、字典(dict)。它是否為變量類型取決于內(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,類似于Unix中的硬鏈接);如果它是可變的,在對(duì)對(duì)象進(jìn)行操作時(shí),不需要再使用它來申請(qǐng)其它地方的內(nèi)存,只需要在這個(gè)對(duì)象之后連續(xù)(/-)地申請(qǐng),即它的地址不變,但區(qū)域會(huì)變長或變短。