What is the difference between shallow copy, deepcopy and normal assignment operation?

后端 未结 11 2338
温柔的废话
温柔的废话 2020-11-21 07:11
import copy

a = \"deepak\"
b = 1, 2, 3, 4
c = [1, 2, 3, 4]
d = {1: 10, 2: 20, 3: 30}

a1 = copy.copy(a)
b1 = copy.copy(b)
c1 = copy.copy(c)
d1 = copy.copy(d)


prin         


        
11条回答
  •  春和景丽
    2020-11-21 07:41

    Let's see in a graphical example how the following code is executed:

    import copy
    
    class Foo(object):
        def __init__(self):
            pass
    
    
    a = [Foo(), Foo()]
    shallow = copy.copy(a)
    deep = copy.deepcopy(a)
    

提交回复
热议问题