在Python中,變量賦值與拷貝的方法有以下幾種:
- 直接賦值:將一個變量的值賦給另一個變量,它們指向同一個內存地址。修改其中一個變量的值會影響到另一個變量。
a = 10
b = a
- 淺拷貝:創建一個新的變量,但是仍然指向原始對象的內存地址。修改原始對象中的可變元素會影響到拷貝的變量,但修改拷貝的變量不會影響到原始對象。
import copy
a = [1, 2, 3]
b = copy.copy(a)
- 深拷貝:創建一個新的變量,并且將原始對象中的所有元素都復制到新的變量中,包括嵌套對象。修改原始對象或拷貝的變量中的任何元素都不會相互影響。
import copy
a = [1, 2, [3, 4]]
b = copy.deepcopy(a)
- 切片賦值:對于可迭代對象(如列表、元組、字符串等),可以使用切片賦值來創建一個新的變量。切片賦值會創建一個新的對象,但仍然指向原始對象的內存地址。修改原始對象中的可變元素會影響到新的變量,但修改新的變量不會影響到原始對象。
a = [1, 2, 3]
b = a[:]