Python 赋值和copy的区别
1、定义
1.1、直接赋值
对象名的引用,相当于起了一个别名
(赋值不改变变量的内存地址,仅是对象的简单引用,a和b指向同一片内存区域,改变其中一个,另外一个也会改变)
1.2 拷贝copy
划分新的存储地址,变量独立,改变不会影响彼此
2、举例
import numpy as np
a = np.zeros(3)
# 赋值
b = a
print("the adress of a:", id(a), " \nthe adress of b:", id(b))
# 赋值不改变变量的内存地址,仅是对象的简单引用,a和b指向同一片内#存区域,改变其中一个,另外一个也会改变
#the adress of a: 35382336
#the adress of b : 35382336
c=np.copy(a)
print("the adress of c :", id(c))
# 浅copy是给内存重新划分一个新的内存地址仅拷贝父对象
#the adress of c : 40032096