卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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)存單元的值不可更改,在對對象本身進(jìn)行操作時(shí),必須在內(nèi)存的另一部分申請另一個(gè)內(nèi)存單元(因?yàn)榕f的內(nèi)存單元是不可變的),舊的內(nèi)存單元將被丟棄(如果有其他的ref,ref數(shù)將減少1,類似于Unix中的硬鏈接);如果它是可變的,在對對象進(jìn)行操作時(shí),不需要再使用它來申請其它地方的內(nèi)存,只需要在這個(gè)對象之后連續(xù)(/-)地申請,即它的地址不變,但區(qū)域會(huì)變長或變短。

怎樣理解String的不變模式?

Java字符串。string類是不可變的。對string類的任何更改都將返回一個(gè)新的string類對象。字符串對象是系統(tǒng).Char用于表示字符串的對象的有序集合。string對象的值是有序集合的內(nèi)容,并且該值是不可變的。String是一個(gè)特殊的引用對象,它可以在不使用新對象的情況下生成。例如:stringa=“ABC”stringb=“ABC”stringc=newString(“ABC”)這里生成兩個(gè)對象?!癆BC”是一個(gè)對象,newString()是一個(gè)對象。a、 B和C都在堆棧區(qū)域中創(chuàng)建引用。A和B指向常量池中的“ABC”,newString的值也指向常量池中的ABC;*同一個(gè)字符串只創(chuàng)建一次。例如:stringa=“ABC”a=a“d”要執(zhí)行此操作,實(shí)際生成三個(gè)對象,一個(gè)是“ABC”,一個(gè)是“d”,一個(gè)是“ABCD”。只有當(dāng)拼接完成時(shí),“ABC”和“d”才會(huì)丟失它們的引用并成為垃圾對象。事實(shí)上,改變的不是“ABC”本身,而是對“ABCD”的引用;當(dāng)我對字符串本身進(jìn)行操作時(shí),我改變的是引用而不是對象本身。