一、python是面向对象的编程语言
python里的数据、大型数据结构、函数以及程序都是以对象(object)的形式存在的。对象就像一个盒子,里面装的是数据,也有人说我们电脑的内存就像一个大厦,大厦里的每个房间都可以存储对象,而这些对象的引用方式就是房间的门牌号。
二、赋值的本质
赋值的操作其实相当于给盒子贴上标签。这个盒子就相当于我们内存中的一块地址。下面我们来看一下下面这段代码的含义:
a = [2,3,5,8,9,0]
b = a
第一行:电脑开辟了一个盒子(内存),存储[2,3,5,8,9,0]这个列表,并且为这个盒子贴上了a这个标签。
第二行:将a赋值给b,相当于为盒子贴上了第二个标签b。其实,a和b指向的是同一块内存,所以当改变其中一个值时,另一个值也随着改变,因为他们指向的同一块内存中的存储对象已经改变。
三、列表的复制方法
将一个列表的值复制到另一个列表中有三种方法:
1.列表copy()函数
2.list()转换函数
3.列表分片[:]
a = [1,2,3]
b = a.copy()
c = list(a)
d = a[:]
这三种方法创建的b ,c ,d 都是自身带有值的新对象,改变a 的值不影响b ,c ,d 的复制。