Apa yang Dapat Diubah Dan Tidak Dapat Diubah Dalam Python?

Diterbitkan: 2022-09-22

Dalam Python, setiap variabel memiliki turunan dari objek apa pun dalam dua jenis, yaitu dapat diubah dan tidak dapat diubah. Sebuah id objek unik ditugaskan ke sebuah objek setiap kali itu dipakai. Runtime mendefinisikan tipe objek dan tidak dapat diubah nanti.

Namun, yang berubah adalah objek yang bisa berubah. Ketika kita mengatakan bisa berubah, itu berarti keadaan objek internal dapat bermutasi. Secara bersamaan, status objek yang tidak dapat diubah setelah pembuatan adalah objek yang tidak dapat diubah. Status yang dapat berubah dan tidak dapat diubah merupakan bagian integral dari struktur data Python.

Fitur mutabilitas objek dalam Python menjadikannya bahasa yang diketik secara dinamis. Mutable and Immutable dalam Python cukup penting sebagai sebuah konsep tetapi sering membingungkan karena sifat intransitif dari kekekalan.

Mari kita cari tahu semua tentang mereka dan perbedaan utama.

Lihat kursus online ilmu data kami untuk meningkatkan keterampilan Anda

Daftar isi

Keterampilan Ilmu Data Teratas untuk Dipelajari untuk meningkatkan keterampilan

TL. Tidak Keahlian Ilmu Data Teratas untuk Dipelajari pada 2022
1 Kursus Online Analisis Data Kursus Online Statistik Inferensial
2 Kursus Online Pengujian Hipotesis Kursus Online Regresi Logistik
3 Kursus Regresi Linier Kursus Online Aljabar Linier untuk Analisis

Status yang Dapat Diubah Dengan Python

Kata 'Mutable' secara langsung diterjemahkan menjadi 'berubah' atau sesuatu yang bisa 'bermutasi'. Ini mendefinisikan objek yang terbuka untuk perubahan, dan dalam Python, 'bisa berubah' berhubungan dengan kemampuan objek untuk mengubah nilai. Objek ini sering menyimpan koleksi data dan berisi daftar tipe bawaan, set, kamus, dan kelas yang ditentukan pengguna.

Status Definisi Tidak Berubah Dengan Python

Tidak dapat diubah dalam Python adalah ketika Anda tidak dapat mengubah tipe objek dari waktu ke waktu. Jika tidak mungkin untuk mengubah nilai suatu objek dengan Python, itu dikenal sebagai objek yang tidak dapat diubah. Setelah objek yang tidak dapat diubah dibuat, nilainya tetap permanen dan tidak dapat diubah. Objek tipe bawaan yang tidak dapat diubah adalah angka, string, tupel, set beku, dan kelas yang ditentukan pengguna.

Objek dengan Python

Sebelum kita mempelajari lebih dalam tentang mutabilitas dan kekekalan dengan Python, mari kita pelajari dulu apa itu objek. Dalam Python, semuanya dianggap sebagai objek, dan setiap objek memiliki tiga atribut:

  • Identitas: Ini mengacu pada alamat objek dalam memori komputer.
  • Type : Ini mengacu pada jenis objek yang dibuat. Misalnya, integer, string, daftar dan sejenisnya.
  • Nilai : Ini mengacu pada nilai yang disimpan objek. Misalnya, List=[5,6,7] akan menyimpan angka 5, 6 dan 7.

Bahkan jika ID dan Tipe suatu objek tidak terbuka untuk diubah setelah pembuatan, nilainya terbuka untuk perubahan untuk objek yang Dapat Diubah.

Objek yang Bisa Diubah dengan Python

Objek yang dapat diubah adalah objek dalam Python yang dapat dimutasi atau diubah. Kode berfungsi lebih baik dalam mengajar tentang implementasi objek-objek ini. Oleh karena itu, mari kita lihat beberapa kode dan mencoba memahami objek yang bisa berubah dengan lebih baik:

  • Untuk membuat daftar yang berisi nama-nama buah

buah= ['Mangga', 'Pepaya', 'Jeruk']

  • Untuk mencetak elemen dari daftar buah, dibagi dengan koma & spasi

untuk buah dalam buah:

print(buah, akhir=', ')

Keluaran [1]: Mangga, Pepaya, Jeruk

  • Untuk mencetak lokasi objek yang dibuat di alamat memori dalam format heksadesimal

Jelajahi Kursus Online Ilmu Data Populer kami

Program Pascasarjana Eksekutif Ilmu Data dari IIITB Program Sertifikat Profesional dalam Ilmu Data untuk Pengambilan Keputusan Bisnis Master of Science dalam Ilmu Data dari University of Arizona
Program Sertifikat Lanjutan dalam Ilmu Data dari IIITB Program Sertifikat Profesional dalam Ilmu Data dan Analisis Bisnis dari University of Maryland Kursus Online Ilmu Data

print(hex(id(buah)))

Keluaran [2]: 0x1691d7de8c8

  • Menambahkan buah baru ke daftar 'buah'

buah-buahan.append('Anggur')

  • Untuk mencetak elemen yang ada dalam daftar 'buah', dipisahkan dengan koma & spasi

untuk buah dalam buah:

print(buah, akhir=', ')

Keluaran [3]: Mangga, Pepaya, Jeruk, Anggur

  • Untuk mencetak lokasi objek yang dibuat di alamat memori dalam format heksadesimal

print(hex(id(buah)))

Keluaran [4]: ​​0x1691d7de8c8

Contoh menunjukkan bahwa keadaan internal objek 'buah' dapat dengan mudah diubah dengan menambahkan satu buah lagi, 'Anggur' ke dalamnya. Namun, alamat memori objek tetap sama, membuktikan bahwa objek baru tidak perlu dibuat. Sebaliknya, objek yang sama dapat diubah atau dimutasi. Contoh ini menunjukkan bahwa objek dengan nama variabel referensi 'buah-buahan', tipe daftar, dapat diubah.

Objek yang Tidak Dapat Diubah dengan Python

Objek yang tidak dapat diubah dalam Python adalah objek yang nilainya tidak dapat diubah. Mari kita ikuti kode sederhana untuk memahami dengan lebih baik apa itu objek yang tidak dapat diubah dan bagaimana cara kerjanya. Kode diberikan di bawah ini: -

  • Untuk membuat Tuple yang berisi nama bulan dalam bahasa Inggris

bulan= 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus'

  • Untuk mencetak elemen bulan tupel

cetak (bulan)

Keluaran [1]: ('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus')

  • Untuk mencetak lokasi objek, yang dibuat di alamat memori dalam format heksadesimal

cetak(hex(id(bulan)))

Keluaran [2]: 0x1691cc35090

  • Penting untuk dicatat bahwa tupel tidak dapat diubah; oleh karena itu, mereka gagal memasukkan lebih banyak elemen baru. Oleh karena itu, Anda perlu menggunakan penggabungan tupel dengan operator # + untuk menambahkan bulan imajiner baru di 'bulan' tupel.

bulan += 'Pythonuary'

  • Untuk mencetak elemen tuple 'bulan'.

cetak (bulan)

Output [3]: ('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'Pythonuary')

  • Untuk mencetak lokasi objek yang dibuat di alamat memori dalam format heksadesimal

cetak(hex(id(bulan)))

Keluaran [4]: ​​0x1691cc8ad68

Baca Artikel Ilmu Data populer kami

Jalur Karir Ilmu Data: Panduan Karir Komprehensif Pertumbuhan Karir Ilmu Data: Masa Depan Pekerjaan ada di sini Mengapa Ilmu Data Penting? 8 Cara Ilmu Data Memberi Nilai pada Bisnis
Relevansi Ilmu Data untuk Manajer Lembar Cheat Ilmu Data Utama Yang Harus Dimiliki Setiap Ilmuwan Data 6 Alasan Teratas Mengapa Anda Harus Menjadi Ilmuwan Data
Sehari dalam Kehidupan Ilmuwan Data: Apa yang mereka lakukan? Mitos Rusak: Ilmu Data tidak perlu Coding Kecerdasan Bisnis vs Ilmu Data: Apa perbedaannya?

Contoh ini membuktikan bahwa nama variabel dapat dengan mudah digunakan untuk mereferensikan suatu objek, semacam tupel yang terdiri dari delapan elemen. Namun, ID lokasi memori dari tupel lama & baru tidak sama. Oleh karena itu, keadaan internal objek 'bulan' tidak dapat diubah. Oleh karena itu, pengelola program Python membuat objek baru di alamat memori. Selain itu, nama variabel 'bulan' juga mereferensikan objek baru dengan sembilan elemen. Oleh karena itu, membuktikan bahwa tupel, objek dengan nama variabel referensi 'bulan', adalah objek yang tidak dapat diubah.

Kesimpulan

Objek yang dapat diubah terutama digunakan untuk memungkinkan pembaruan di masa mendatang. Di sisi lain, kekekalan juga menawarkan banyak aplikasi yang efektif dan praktis untuk berbagai tugas sensitif di tempat yang berpusat pada jaringan, memungkinkan pemrosesan paralel. Objek yang tidak dapat diubah, segel nilainya dan pastikan tidak ada utas yang meminta penimpaan/pembaruan ke data. Ini bagus untuk menulis kode permanen yang tidak memerlukan perubahan di masa mendatang.

Jika Anda seorang programmer pemula atau penggemar ilmu data, belajar tentang objek yang dapat berubah dan tidak dapat diubah dengan Python akan terbukti membantu Anda memilih bidang ini sebagai karier Anda. Cara terbaik untuk mempelajarinya adalah dengan mendaftar ke Program Pascasarjana Eksekutif dalam Ilmu Data di upGrad.

Kursus ini dibuat di bawah bimbingan fakultas ahli, memberikan pengetahuan mendalam tentang topik yang sedang hangat untuk mempersiapkan ribuan pelajar untuk karir masa depan.

Q1. Apa perbedaan signifikan antara bisa berubah vs tidak berubah dengan Python?

Jawaban: Status atau nilai objek terbuka untuk dimodifikasi setelah dibuat dalam dapat diubah Status atau nilai objek tidak terbuka untuk dimodifikasi setelah dibuat dalam tidak dapat diubah Objek yang dapat diubah tidak aman untuk thread. Objek yang tidak dapat diubah sepenuhnya aman untuk thread Kelas yang dapat diubah tidak final. Sebelum membuat objek yang tidak dapat diubah, Anda harus membuat kelas final.

Q2. Di Python, apa itu tipe data yang bisa berubah dan tidak bisa diubah?

Jawaban: Tipe data yang dapat diubah dalam Python adalah daftar, set, kamus, dan kelas yang ditentukan pengguna dan tipe data yang tidak dapat diubah adalah int, desimal, float, bool, Tuple, string, dan range.

Q3. Apakah daftar bisa berubah dengan Python?

Jawaban: Dalam Python, daftar adalah tipe data yang dapat diubah dengan elemen yang mudah dimodifikasi. Selain itu, Anda dapat mengganti elemen individual dan bahkan mengubah urutan elemen setelah membuat daftar.