如果函數(shù)接收到的參數(shù)是一個(gè)可變對(duì)象(類類型,列表,字典),就會(huì)改變對(duì)象的原始值。 如果函數(shù)接收到的參數(shù)是一個(gè)不可變對(duì)象,即基本數(shù)據(jù)類型(數(shù)值型,字符串,布爾),就不會(huì)改變對(duì)象的原始值。
無(wú)論什么參數(shù),都是傳引用,只不過(guò)基本數(shù)據(jù)類型的賦值其實(shí)是重新構(gòu)造并指向了一個(gè)新的對(duì)象,內(nèi)存地址不一樣,可以用id()來(lái)查詢內(nèi)存地址~
對(duì)于可變對(duì)象(類類型,列表,字典)來(lái)說(shuō),如果直接x=y的話,x和y的內(nèi)存地址相同;如果只是想簡(jiǎn)單賦值,就得用 x=y[:]。(如eg1所示) 對(duì)于不可變對(duì)象(數(shù)值型,字符串,布爾)來(lái)說(shuō),直接等就可以了,兩種賦值方式并無(wú)區(qū)別,且 x=y[:]這種方式并不是所有數(shù)據(jù)類型都適用,比如int就會(huì)報(bào)錯(cuò)(如eg2所示)


新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注