👯‍♀️Kopyalama

Python ile kopyalama, copy, deep copy ve shallow copy işlemleri

👀 Hızlı Bakış

import copy
li1 = [1, 2, [3,5], 4]

# Shallow copy
li2 = copy.copy(li1)

# Deep copy
li3 = copy.deepcopy(li1)

# Slice ile deep copy
li4 = li1[:]

📢 Objenin kopyalama davranışlarını değiştirmek için __copy__, __deepcopy__ metotları override edilir

🆚 Shallow ve Deep Copy

📜 DeepCopy Hakkında

  • Deepcopy işlemi cls ile yeniden sınıf objesi oluşturmak ile benzerdir

  • Alttaki örnekteki class2 ile class3 benzer işlevi görmektedir

from copy import deepcopy

class AnyClass:
    x: int
    y: int
    
    def __init__(self, x: int, y: int):
        self.x = x
        self.y = y
        

class1 = AnyClass(1, 2)
class2 = deepcopy(aclass)
class3 = AnyClass(class1.x, class2.y)
# class2 ile class3 benzer işlevi görmektedir
        

🔗 Faydalı Bağlantılar

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk