Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Penghias `@property` Berfungsi dalam Python?

Bagaimanakah Penghias `@property` Berfungsi dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-21 05:30:10534semak imbas

How Does the `@property` Decorator Function in Python?

Cara Penghias @property Berfungsi dalam Python

Penghias @property ialah alat yang berkuasa untuk mencipta atribut baca sahaja atau baca tulis pada kelas Python. Ia memudahkan penciptaan sifat dengan membungkusnya dalam fungsi penghias.

Cara Penghias Hartanah Terbina Dalam Berfungsi

Fungsi hartanah() terbina dalam mencipta objek deskriptor. Objek ini mempunyai tiga kaedah:

  • getter: Fungsi yang mengembalikan nilai harta.
  • setter: Fungsi yang menetapkan nilai harta itu.
  • pemadam: Fungsi yang memadamkan property.

Apabila digunakan sebagai penghias, property() mengambil fungsi sebagai hujahnya. Fungsi ini menjadi pemeroleh untuk hartanah.

Cara Penghias @property Berfungsi

Penghias @property hanyalah gula sintaksis untuk kod berikut:

def foo(self): return self._foo
foo = property(foo)

Sintaks @decorator menggantikan fungsi yang dihiasi dengan deskriptor harta khas() objek.

Mencipta Sifat dengan Penghias

Untuk mencipta sifat dengan penghias:

class C:
    @property
    def x(self):
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x
  • Penghias @property mencipta fungsi pemeroleh dan melekatkannya pada sifat _x.
  • Penghias @x.setter mencipta objek sifat baharu, menggantikan pengambil dengan fungsi penetap berhias.
  • Penghias @x.deleter mencipta objek sifat baharu, menggantikan pengambil dengan fungsi pemadam berhias.

Pemahaman Mendalam

Fungsi property() mengembalikan khas objek deskriptor. Objek ini mempunyai kaedah tambahan, termasuk getter, setter dan deleter. Kaedah ini juga merupakan penghias, yang membolehkan anda membina objek harta sepenuhnya secara berperingkat.

Sintaks penghias hartanah membolehkan anda mencipta sifat dengan penetap berantai dan penghias pemadam. Objek sifat yang terhasil kemudiannya dilampirkan pada kelas sebagai deskriptor, membolehkan atribut mendapatkan, menetapkan dan pemadaman dengan gelagat tersuai.

Atas ialah kandungan terperinci Bagaimanakah Penghias `@property` Berfungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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