Rumah > pembangunan bahagian belakang > Tutorial Python > Pembolehubah Kelas atau Pembolehubah Instance: Mana yang Terbaik untuk Kelas Singleton dalam Python?

Pembolehubah Kelas atau Pembolehubah Instance: Mana yang Terbaik untuk Kelas Singleton dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-23 01:20:11
asal
792 orang telah melayarinya

Class Variables or Instance Variables: Which is Best for a Singleton Class in Python?

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
Salin selepas log masuk

Kebaikan:

  • Akses lebih pantas kerana tidak perlu mewarisi atribut daripada kelas.
  • Tiada kekeliruan mengenai atribut yang mana contoh.

Keburukan:

  • Atribut pendua untuk setiap tika, yang boleh membazir jika atribut itu besar atau kompleks.

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
Salin selepas log masuk

Kebaikan:

  • Sumber kebenaran tunggal untuk atribut, mengurangkan kemungkinan ralat dan ketidakkonsistenan.
  • Tiada overhed memori yang dikaitkan dengan pendua atribut.

Keburukan:

  • Akses yang perlahan sedikit disebabkan oleh tahap pewarisan tambahan.
  • Potensi kekeliruan jika keadaan memerlukan mempunyai nilai yang berbeza untuk perkara yang sama atribut.

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!

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