首页 > 代码库 > python学习:面向对象

python学习:面向对象

一:先看一段程序

<strong><span style="font-size:18px;">a = [1,2,3]
b = a 
b[0] = 0
print b
print a</span></strong>

你能猜出执行结果吗?让我们来执行一下:

<span style="font-size:18px;">[0, 2, 3]
[0, 2, 3]</span>


为什么?我们只是修改了b集合的值,为什么a也变了呢?

因为当我们b = a 的时候,其实是将a和b对象指向了同一块内存【1,2,3】


二:再来看

同样的道理,如果修改a的值呢?

a = [1,2,3]
b = a 
b[0] = 0
a[-1] = 4
print b
print a

再将a最后一个元素修改成4,那么执行结果你猜出来了吗?

是的:

[0, 2, 4]
[0, 2, 4]

python学习:面向对象