Apakah Cara Pythonic untuk Menggunakan Getters dan Setters?
Menggunakan getter dan setter menawarkan cara yang mudah untuk mengawal akses kepada atribut peribadi dalam Python . Berikut ialah beberapa pendekatan yang biasa digunakan:
Pendekatan Berasaskan Kaedah:
Anda boleh mencipta kaedah getter dan setter yang berasingan, seperti yang ditunjukkan di bawah:
def set_property(property, value): def get_property(property):
Walau bagaimanapun, pendekatan ini tidak dianggap sangat Pythonic. Cara yang lebih digemari ialah menggunakan:
Manipulasi Atribut Objek:
Anda boleh terus memberikan nilai kepada atribut objek menggunakan notasi titik:
object.property = value value = object.property
Pendekatan ini mudah digunakan dan difahami, tetapi ia tidak menawarkan sebarang pengkapsulan atau kawalan ke atas atribut akses.
Sifat Python:
Cara paling Pythonic untuk melaksanakan getter dan setter ialah menggunakan sifat. Ini membolehkan anda mentakrifkan kaedah getter, setter dan deleter dalam satu baris kod:
class C(object): @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 c = C() c.x = 'foo' # setter called foo = c.x # getter called del c.x # deleter called
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pengambil dan Penetap Secara Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!