copy.copy, degeri shallow copy ediyor, yani bellekte kopyalanacak degere isaret eden bir referans olusturuyor. array degiskeni tanimlandiginda bellekte bu liste su halde var: [[1,0,0,0], [2,0,1...]]. array degiskeni bu degere isaret ediyor. Esittir (=) operatoru ile array2 olusturuldugunda array2 de bellekte ayni degere isaret ediyor, birini kullanarak veride bir degisiklik yapmak digerini de etkiliyor cunku onlar zaten aslinda ayni sey.
copy.deepcopy ise bellekte ayni seyi tekrar olusturuyor ve array2 yeni degere isaret ediyor, dolayisiyla iki degisken birbirinden bagimsiz oluyor. Bu da deep copy.