1. 程式人生 > >python 中的 賦值 淺拷貝 深拷貝

python 中的 賦值 淺拷貝 深拷貝

dir 其他 容器 rsquo 函數 set lis 簡單的 這一

1、對象的賦值

  都是進行對象引用(內存地址)傳遞,即 b is a ,a 變 b也變

2、淺拷貝

  會創建一個新的對象,對於對象中的元素,淺拷貝就只會使用原始元素的引用(內存地址)

  當我們使用下面的操作時,會產生淺拷貝:

    使用切片[:]操作

    使用工廠函數(list/dir/set)

    使用copy模塊中的copy函數

3、深拷貝

  會創建一個新的對象,並且對於對象中的元素,深拷貝都會重新生成一份(有特殊情況,下面會說明),而不是簡單的使用原始元素的引用(內存地址)

  拷貝的特殊情況:

    對於非容器類型(如數字,字符串,和其他‘原子’類型的對象)沒有拷貝這一說

    如果元組變量只只包含原子類型對象,則不能深拷貝

python 中的 賦值 淺拷貝 深拷貝