好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python的深浅拷贝

#Python代码如下:

def func(args,param_list=[]):

    param_list.append(args)

    return param_list

v1 = func(1)

v2 = func(2,[])

v3 = func(3)

print(v1)

print(v2)

print(v3)

'''

运行结果:

[1, 3]

[2]

[1, 3]

'''

# 调用v2 时,参数出入时,新开辟了一个list内存。

n1 = [11,22,33,44,55]

n2 = n1

n3 = n1[:]

n1[0]=666

n3[1]=999

print(n1)

print(n2)

print(n3)

'''

运行结果:

[666, 22, 33, 44, 55]

[666, 22, 33, 44, 55]

[11, 999, 33, 44, 55]

'''

# n1和n2都是指向同一个list,n3则在内存中新开辟了一个list,即为深拷贝,然后对n3[1]进行赋值。

查看更多关于Python的深浅拷贝的详细内容...

  阅读:38次