jenkins详细教程
Posted 多测师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins详细教程相关的知识,希望对你有一定的参考价值。
python之深浅拷贝
转载是一种动力 分享是一种美德
动动小手 点个【在看】再走
python中深浅拷贝
先弄懂下面概念
变量 --引用--对象--(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝)
变量是一个系统表的元素,拥有指向对象的链接的空间
对象是被分配的一块内存,存储其所代表的值
引用是自动形成的从变量到对象的指针
在python中不可变对象知:一旦创建就不可修改对象,包括字符创,元组,数字
在python中可变对象是指:可以修改的对象,包括:列表,字典
1.不可变对象的赋值
a的值发生改变,b不会跟着改变
a = 1
b = a
print(a)
print(b)
a = 3
print(a)
print(b)
结果:
1
1
3
1
2.可变对象的赋值
a发生改变,b也跟着改变
a = [1,2]
b = a
print(a)
print(b)
a[0] = 3
print(a)
print(b)
结果:
[1, 2]
[1, 2]
[3, 2]
[3, 2]
要想b的值不会改变,就要用到copy模块
3.深浅拷贝
浅拷贝:只拷贝顶级的对象,或者说:父级对象
深拷贝:拷贝所有对象,顶级对象以及嵌套对象。或者说:父级对象以及子对象
import copy
#第二种,字典中有嵌套
d = {'name':{'first':'zhang','last':'derek'},
'job':['IT','HR']}
c1 = copy.copy(d)
c2 = copy.deepcopy(d)
print(id(d),id(c1),id(c2)) #31157416 31940256 35946856
d['job'][0] = 'tester'
print(d,c1,c2)
# {'name': {'first': 'zhang', 'last': 'derek'}, 'job': ['tester', 'HR']}
# {'name': {'first': 'zhang', 'last': 'derek'}, 'job': ['tester', 'HR']}
# {'name': {'first': 'zhang', 'last': 'derek'}, 'job': ['IT', 'HR']}
源对象修改值的时候,浅拷贝的值跟着改变,深拷贝的值没变
import copy
#第二种,字典中有嵌套
d = {'name':{'first':'zhang','last':'derek'},
'job':['IT','HR']}
c1 = copy.copy(d)
c2 = copy.deepcopy(d)
print(id(d),id(c1),id(c2)) #31157416 31940256 35946856
d['job'][0] = 'tester'
print(d,c1,c2)
# {'name': {'first': 'zhang', 'last': 'derek'}, 'job': ['tester', 'HR']}
# {'name': {'first': 'zhang', 'last': 'derek'}, 'job': ['tester', 'HR']}
# {'name': {'first': 'zhang', 'last': 'derek'}, 'job': ['IT', 'HR']}
源对象修改值的时候,浅拷贝的值跟着改变,深拷贝的值没变
END
长按识别关注
扫描二维码
以上是关于jenkins详细教程的主要内容,如果未能解决你的问题,请参考以下文章