Python中的對象分為可變對象與不可變對象,其區(qū)別主要在于內(nèi)存地址,也即id的不同
對于不可變對象,淺拷貝與深拷貝沒有區(qū)別,而對于可變對象,淺拷貝以及賦值語句均是把對象的id賦值給新的拷貝對象,而深拷貝則是會創(chuàng)建新的id
例:

圖片.png
判斷id是否相同:

圖片.png
改變a中的對象,可以看到賦值的b,淺拷貝的c均改變,而深拷貝的d不變,原因就是d已經(jīng)引用了不同的id:

圖片.png
Python中的對象分為可變對象與不可變對象,其區(qū)別主要在于內(nèi)存地址,也即id的不同
對于不可變對象,淺拷貝與深拷貝沒有區(qū)別,而對于可變對象,淺拷貝以及賦值語句均是把對象的id賦值給新的拷貝對象,而深拷貝則是會創(chuàng)建新的id
例:
判斷id是否相同:
改變a中的對象,可以看到賦值的b,淺拷貝的c均改變,而深拷貝的d不變,原因就是d已經(jīng)引用了不同的id: