python 深拷贝_Python之类的浅拷贝与深拷贝
????大家都知道Python是一個動態(tài)語言,那么它在語法上,與諸如C++之類的靜態(tài)語言肯定是有所區(qū)別的.對于C++的淺拷貝與深拷貝筆者已經(jīng)很熟悉了,然后一直以為Python也理應(yīng)如此,結(jié)果發(fā)現(xiàn)還是存在一定區(qū)別的,如果不理清兩者之間的關(guān)系,在后續(xù)開發(fā)中很可能遇到問題,所以在此進(jìn)行一下總結(jié).
????這里創(chuàng)建了disk和cpu1兩個類實例對象,并且用來初始化computer這個實例對象.
????進(jìn)行淺拷貝,可以發(fā)現(xiàn)只復(fù)制了computer這個實例對象,disk與cpu1仍然共用.
????進(jìn)行深拷貝,可以發(fā)現(xiàn)不僅computer這個實例對象復(fù)制了,disk與cpu1也進(jìn)行了復(fù)制.
????如果直接賦值,那么computer,disk和cpu1均共用.
????通過上面的幾行代碼,可以發(fā)現(xiàn)不同的方式創(chuàng)建對象,得到的結(jié)果完全不同.實際上理解其原理很簡單,只要熟悉Python內(nèi)存管理機(jī)制即可很容易理解.
????很多時候我們學(xué)習(xí)一門語言,不僅僅需要會使用,還需要深入理解其運行機(jī)制,這樣無論你遇到什么問題,都能迎刃而解,并且追根溯源的精神也是如今的企業(yè)招聘很看重的一點,面試官往往對那些對一門技術(shù)鉆研很深入的人有所偏好.
????最后分享一個好朋友分享的一張圖,哈哈,感謝一直以來的支持.
總結(jié)
以上是生活随笔為你收集整理的python 深拷贝_Python之类的浅拷贝与深拷贝的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python建立数据库并搜索_如何建立一
- 下一篇: python中lt方法_Python的富