jenkins详细教程

Posted 多测师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins详细教程相关的知识,希望对你有一定的参考价值。

python之深浅拷贝


转载是一种动力 分享是一种美德

动动小手 点个【在看】再走

jenkins详细教程


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详细教程的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins详细教程

Jenkins详细安装与构建部署使用教程(转)

jenkins安装详细教程

Jenkins详细教程

Jenkins详细安装与构建部署使用教程

docker安装jenkins详细教程