大家都知道Python是一個動态語言,那麼它在文法上,與諸如C++之類的靜态語言肯定是有所差別的.對于C++的淺拷貝與深拷貝筆者已經很熟悉了,然後一直以為Python也理應如此,結果發現還是存在一定差別的,如果不理清兩者之間的關系,在後續開發中很可能遇到問題,是以在此進行一下總結.

這裡建立了disk和cpu1兩個類執行個體對象,并且用來初始化computer這個執行個體對象.
進行淺拷貝,可以發現隻複制了computer這個執行個體對象,disk與cpu1仍然共用.
進行深拷貝,可以發現不僅computer這個執行個體對象複制了,disk與cpu1也進行了複制.
如果直接指派,那麼computer,disk和cpu1均共用.
通過上面的幾行代碼,可以發現不同的方式建立對象,得到的結果完全不同.實際上了解其原理很簡單,隻要熟悉Python記憶體管理機制即可很容易了解.
很多時候我們學習一門語言,不僅僅需要會使用,還需要深入了解其運作機制,這樣無論你遇到什麼問題,都能迎刃而解,并且追根溯源的精神也是如今的企業招聘很看重的一點,面試官往往對那些對一門技術鑽研很深入的人有所偏好.
最後分享一個好朋友分享的一張圖,哈哈,感謝一直以來的支援.