Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Melaksanakan Getters dan Setters secara Python?

Bagaimana untuk Melaksanakan Getters dan Setters secara Python?

Mary-Kate Olsen
Lepaskan: 2024-12-14 11:50:17
asal
440 orang telah melayarinya

How to Pythonically Implement Getters and Setters?

Amalan Pythonic untuk Getters dan Setters

Apabila bekerja dengan kaedah getter dan setter dalam Python, adalah penting untuk menggunakan pendekatan Pythonic yang sejajar dengan amalan terbaik bahasa itu. Daripada menggunakan kaedah get_property() dan set_property() eksplisit, yang memerlukan pelaksanaan manual:

def set_property(property, value):  
def get_property(property):  
Salin selepas log masuk

Atau tetapkan dan dapatkan atribut secara terus melalui sifat objek:

object.property = value  
value = object.property
Salin selepas log masuk

Kaedah Pythonic pilihan menggunakan penghias hartanah untuk mentakrifkan getter dan setter. Teknik ini menyediakan antara muka yang ringkas dan intuitif untuk mengakses pembolehubah contoh.

Penghias Harta:

class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        print("getter of x called")
        return self._x

    @x.setter
    def x(self, value):
        print("setter of x called")
        self._x = value

    @x.deleter
    def x(self):
        print("deleter of x called")
        del self._x
Salin selepas log masuk

Penggunaan:

Buat contoh daripada kelas:

c = C()
Salin selepas log masuk

Tetapkan harta:

c.x = 'foo'  # setter called
Salin selepas log masuk

Ambil semula harta:

foo = c.x    # getter called
Salin selepas log masuk

Padamkan harta:

del c.x      # deleter called
Salin selepas log masuk

Dengan menggunakan penghias harta Python, anda boleh mencapai fungsi getter dan setter dengan sintaks yang lebih Pythonic dan elegan, mengekalkan kejelasan kod dan memudahkan pengurusan harta.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Getters dan Setters secara Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan