Pembolehubah Kelas lwn. Pembolehubah Contoh untuk Kelas Satu Contoh
Apabila membuat kelas Python dengan hanya satu contoh yang diperlukan, anda mungkin menghadapi dilema tempat untuk menyimpan atribut kelas: dalam pembolehubah kelas atau pembolehubah contoh. Kedua-dua pilihan mempunyai kebaikan dan keburukan mereka.
Pembolehubah Instance
Pembolehubah Instance adalah khusus untuk setiap tika kelas. Ia ditakrifkan dalam kaedah __init__, seperti dalam contoh kod kedua yang disediakan:
class MyController(Controller): def __init__(self): self.path = "something/" self.children = [AController, BController] def action(self, request): pass
Kebaikan:
Keburukan:
Kelas Pembolehubah
Pembolehubah kelas, sebaliknya, dikongsi antara semua kejadian kelas. Ia ditakrifkan di luar kaedah __init__, seperti dalam contoh kod pertama yang disediakan:
class MyController(Controller): path = "something/" children = [AController, BController] def action(self, request): pass
Kebaikan:
Keburukan:
Pengesyoran
Jika anda tahu dengan pasti bahawa anda hanya akan mempunyai satu tika kelas, biasanya disyorkan untuk menggunakan pembolehubah contoh. Ini menyediakan akses yang lebih pantas sedikit dan menghapuskan sebarang kemungkinan kekeliruan atau masalah dengan atribut pendua.
Atas ialah kandungan terperinci Pembolehubah Kelas atau Pembolehubah Instance: Mana yang Terbaik untuk Kelas Singleton dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!