# Przykład do slajdow
from copy import deepcopy


class Person:
    def __init__(self, name, city):
        self.name = name
        self.city = city


class City:
    def __init__(self, name):
        self.name = name
        
    # zwracamy self jako gleboka kopie (uniemozliwiamy klonowanie)
    def __deepcopy__(self, memo):
        return self


if __name__ == "__main__":
    wro = City("Wrocław")
    gda = City("Gdańsk")

    p1 = Person("Adam", wro)
    p2 = Person("Anna", wro)
    p3 = Person("Ananiasz", wro)

    p4 = Person("Zuzanna", gda)
    p5 = Person("Zenon", gda)

    p = deepcopy(p1)
