Mencipta Objek Tidak Boleh Ubah dalam Python
Cabaran mencipta objek tidak berubah dalam Python telah membingungkan pembangun yang ingin mewujudkan struktur data yang tidak boleh diubah suai. Walaupun subkelas tuple menawarkan penyelesaian, ia memperkenalkan isu kebolehaksesan dengan atribut.
Satu penyelesaian yang dicadangkan melibatkan penentuan jenis bernama Immutable yang berasal daripada tupel. Ia mengatasi pembina dan menyekat pengubahsuaian atribut, dengan berkesan menghalang perubahan kepada keadaan objek. Walau bagaimanapun, pendekatan ini masih membenarkan akses atribut melalui indeks, yang mungkin tidak diingini.
Pendekatan alternatif yang dicadangkan oleh responden memperkenalkan penggunaan collections.namedtuple. Pustaka ini mencipta jenis tidak berubah dengan atribut bernama. Tuple bernama memberikan faedah seperti keserasian dengan pickle dan copy, menyelaraskan siri dan manipulasi data.
Dengan menggunakan tupel bernama, seseorang boleh membuat objek tidak berubah dengan pantas dengan atribut tertentu:
<code class="python">Immutable = collections.namedtuple("Immutable", ["a", "b"])</code>
Sementara ini pendekatan tidak sepenuhnya menghapuskan kebolehcapaian atribut melalui indeks, ia menawarkan penyelesaian yang lebih ringkas dan serba boleh untuk mencipta objek tidak boleh diubah dalam Python.
Atas ialah kandungan terperinci Bagaimana Anda Boleh Mencipta Objek Tidak Berubah dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!