Cara Membedakan Salinan Dangkal dan Salin Dalam?

Perbedaan yang menonjol antara salinan dangkal dan salinan dalam adalah salinan dangkal membuat objek baru dan kemudian mengisinya dengan referensi ke objek anak yang ditemukan di aslinya, sedangkan salinan dalam membuat objek baru dan kemudian secara rekursif mengisinya dengan salinan objek anak. ditemukan dalam aslinya.

Dalam bahasa pemrograman seperti Python , kita dapat menggunakan operator = untuk membuat salinan suatu objek. Namun, itu tidak membuat objek. Itu hanya membuat variabel baru yang berbagi referensi dari objek asli. Dalam pemrograman, mungkin diperlukan agar nilai asli tidak berubah dan hanya mengubah nilai baru. Ada dua cara untuk membuat salinan dengan Python. Itu adalah salinan dangkal dan salinan dalam.

Topik bahasan kami tentang:

  1. Apa itu Modul Salin -Definisi, Fungsionalitas 2. Apa itu Salinan Dangkal? -Definisi, Fungsionalitas 3. Apa itu Salinan Dalam     -Definisi, Fungsionalitas 4. Perbedaan Antara Salinan Dangkal dan Salinan Dalam     -Perbandingan perbedaan utama

Istilah Utama

Salin modul, Salin Dalam, Salin Dangkal

Yang perlu anda ketahui tentang Modul Salin

Agar penyalinan dangkal atau penyalinan dalam berfungsi, program harus terdiri dari modul penyalinan. Programmer dapat menggunakan modul “import copy”. Selanjutnya, copy() mengembalikan salinan objek yang dangkal , sementara deepcopy() mengembalikan salinan objek yang dalam.

Yang perlu anda ketahui tentang Salinan Dangkal?

Salinan dangkal adalah proses membuat objek baru yang menyimpan referensi unsur asli. Itu tidak membuat salinan dari objek bersarang itu sendiri. Contohnya adalah sebagai berikut.

Gambar 1: Program Salin Dangkal dengan python

Dalam program di atas, old_list adalah daftar bersarang. Kemudian, disalin ke new_list menggunakan metode copy(). Demikian juga, ia menciptakan objek baru dengan konten yang sama. Maka dari itu, saat mencetak old_list dan new_list, kita dapat melihat output yang sama di konsol.

Selanjutnya, pada baris 9, programmer menambahkan nilai baru ke unsur indeks pertama dari array tengah. Saat mencetak daftar_lama dan daftar_baru lagi, kita dapat melihat bahwa unsur di daftar_lama dan daftar_baru dimodifikasi karena kedua daftar berbagi referensi objek bersarang yang sama.

Yang perlu anda ketahui tentang Salinan Dalam?

Salinan dalam adalah proses pembuatan objek baru yang secara rekursif menyisipkan salinan objek bersarang dari unsur asli ke objek baru. Dengan kata lain, salinan dalam mampu membuat salinan independen dari objek asli dan objek bersarang terkait.

Gambar 2: Program penyalinan dalam dengan Python

Dalam program di atas, old_list adalah daftar bersarang. Kemudian, disalin ke new_list menggunakan metode deepcopy(). Demikian juga, ia menciptakan objek baru dengan konten yang sama. Maka dari itu, saat mencetak old_list dan new_list, kita dapat melihat output yang sama di konsol.

Selanjutnya, pada baris 9, programmer menambahkan nilai baru ke unsur indeks pertama dari array tengah. Saat mencetak daftar_lama dan daftar_baru lagi, kita dapat melihat bahwa hanya daftar_lama yang dimodifikasi. Itu karena mereka adalah objek yang terpisah.

Perbedaan Antara Salin Dangkal dan Salin Dalam

Definisi

Salinan dangkal adalah proses membangun objek koleksi baru dan kemudian mengisinya dengan referensi ke objek anak yang ditemukan dalam aslinya. Di sisi lain, salinan dalam adalah proses membangun objek koleksi baru dan kemudian secara rekursif mengisinya dengan salinan objek anak yang ditemukan dalam aslinya. Jadi, inilah Perbedaan yang menonjol antara salinan dangkal dan salinan dalam.

Kegunaan

Selain itu, salinan dangkal tidak berulang, dan tidak membuat salinan dari objek anak itu sendiri, sementara salinan dalam membuat klon independen lengkap dari objek asli dan semua anaknya.

Proses penyalinan

Perbedaan lain antara salinan dangkal dan salinan dalam adalah salinan dangkal tidak rekursif, sedangkan salinan dalam bersifat rekursif.

Kata terakhir

Dimungkinkan untuk menyalin objek dalam bahasa pemrograman seperti Python. Ada dua jenis penyalinan yang disebut penyalinan dangkal dan penyalinan dalam. Perbedaan yang menonjol antara salinan dangkal dan salinan dalam adalah salinan dangkal membuat objek baru dan kemudian mengisinya dengan referensi ke objek anak yang ditemukan di aslinya, sedangkan salinan dalam membuat objek baru dan kemudian secara rekursif mengisinya dengan salinan objek anak. ditemukan dalam aslinya.

Sumber bacaan:
  1. “Salinan Python Dangkal dan Salin Dalam.” Python Shallow Copy dan Deep Copy (Dengan Contoh), Tersedia di sini . 2. Python Asli. “Penyalinan Objek Python yang Dangkal vs Mendalam.” Python Asli, Python Asli, 12 Des 2018, Tersedia di sini .

Related Posts