Rumah >pembangunan bahagian belakang >Tutorial Python >Perbezaan pembolehubah kelas b/w dan pembolehubah contoh Python

Perbezaan pembolehubah kelas b/w dan pembolehubah contoh Python

WBOY
WBOYasal
2024-08-07 06:39:43643semak imbas

Difference b/w class variable and instance variable Python

Pembolehubah Kelas dan Pembolehubah Instance dalam Python

Dalam Python, terdapat dua jenis pembolehubah: pembolehubah kelas dan pembolehubah instance. Memahami perbezaan antara kedua-dua jenis pembolehubah ini adalah penting untuk menulis kod yang cekap dan teratur. Ini berbeza sedikit daripada bahasa lain.

Pembolehubah Kelas

Pembolehubah kelas, juga dikenali sebagai pembolehubah statik, ialah pembolehubah yang dikongsi oleh semua kejadian kelas. Ia ditakrifkan di luar mana-mana kaedah atau pembina dan dikaitkan dengan kelas itu sendiri, bukan dengan sebarang contoh tertentu.

Untuk mengisytiharkan pembolehubah kelas, anda hanya menetapkan nilai padanya di dalam definisi kelas, menggunakan operator =. Berikut ialah contoh:

class MyClass:
    class_variable = "This is a class variable"

print(MyClass.class_variable)  # Output: This is a class variable

obj1 = MyClass()
obj2 = MyClass()
print(obj1.class_variable)      # Output: This is a class variable
print(obj2.class_variable)      # Output: This is a class variable

Perhatikan bahawa pembolehubah kelas dikongsi oleh semua kejadian kelas. Jika anda mengubah suai nilai pembolehubah kelas dalam satu kejadian, ia akan mempengaruhi semua kejadian lain juga.

Pembolehubah Instance

Pembolehubah tika, sebaliknya, adalah pembolehubah yang unik untuk setiap tika kelas. Mereka dicipta apabila tika kelas dibuat dan mereka dikaitkan dengan tika khusus itu.

Untuk mengisytiharkan pembolehubah contoh, anda perlu mentakrifkannya di dalam kaedah atau pembina kelas. Berikut ialah contoh:

class MyClass:
    def __init__(self, instance_variable):
        self.instance_variable = instance_variable

obj1 = MyClass("obj1 instance variable")
print(obj1.instance_variable)  # Output: obj1 instance variable


obj2 = MyClass("obj2 instance variable")
print(obj2.instance_variable)  # Output: obj2 instance variable

Dalam contoh ini, instance_variable ialah pembolehubah contoh kelas MyClass. Ia dimulakan dalam kaedah __init__ (pembina) dan boleh diakses menggunakan kata kunci kendiri.

Perhatikan bahawa setiap tika kelas mempunyai salinan pembolehubah contoh sendiri. Mengubah suai nilai pembolehubah tika dalam satu kejadian tidak akan menjejaskan nilai dalam keadaan lain.

Perbezaan dan Kegunaan

Perbezaan utama antara pembolehubah kelas dan pembolehubah tika ialah pembolehubah kelas dikongsi oleh semua tika kelas, manakala pembolehubah tika adalah unik untuk setiap tika.

Pembolehubah kelas berguna apabila anda ingin berkongsi data antara semua kejadian kelas. Sebagai contoh, anda mungkin menggunakan pembolehubah kelas untuk menjejaki bilangan tika yang dibuat atau untuk menyimpan nilai malar yang digunakan oleh semua tika.

Pembolehubah tika, sebaliknya, berguna apabila anda ingin menyimpan data yang khusus untuk setiap tika. Contohnya, anda mungkin menggunakan pembolehubah tika untuk menyimpan nama seseorang atau umur seseorang.


Saya harap artikel ini membantu anda memahami pembolehubah kelas dan pembolehubah contoh dalam Python. Beritahu saya jika anda mempunyai sebarang soalan lanjut!

Atas ialah kandungan terperinci Perbezaan pembolehubah kelas b/w dan pembolehubah contoh 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