Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Pembolehubah Kelas dan Contoh Berbeza dalam Python?

Bagaimanakah Pembolehubah Kelas dan Contoh Berbeza dalam Python?

Patricia Arquette
Lepaskan: 2024-10-29 07:18:30
asal
429 orang telah melayarinya

How do Class and Instance Variables Differ in Python?

Memahami Kelas dan Pembolehubah Instance dalam Python

Salah satu konsep utama dalam pengaturcaraan berorientasikan objek ialah perbezaan antara pembolehubah kelas dan instance. Dalam Python, pembolehubah ini memainkan peranan penting dalam mengurus data dalam kelas. Walau bagaimanapun, kekeliruan boleh timbul mengenai tingkah laku mereka berdasarkan cara ia ditakrifkan.

Pembolehubah Kelas vs. Contoh

  • Pembolehubah Kelas: Pembolehubah yang diisytiharkan dalam kelas tetapi di luar sebarang kaedah dikenali sebagai pembolehubah kelas. Ia dikongsi antara semua kejadian kelas, tanpa mengira keadaannya.
  • Pembolehubah Contoh: Pembolehubah yang diisytiharkan dalam kaedah kelas, menggunakan diri kata kunci, dikenali sebagai pembolehubah contoh. Ia khusus untuk setiap tika kelas.

Contoh 1: Pembolehubah Kelas

<code class="python">class testClass():
    list = []
    def __init__(self):
        self.list.append('thing')</code>
Salin selepas log masuk

Dalam contoh ini, senarai pembolehubah ialah pembolehubah kelas kerana ia ditakrifkan di luar mana-mana kaedah. Akibatnya, apabila tika baharu kelas dibuat, ia mengakses pembolehubah senarai yang sama dan kandungannya. Oleh itu, output untuk kedua-dua kejadian (p dan f) ialah:

['thing']
['thing', 'thing']
Salin selepas log masuk

Contoh 2: Pembolehubah Contoh

<code class="python">class testClass():
    def __init__(self):
        self.list = []
        self.list.append('thing')</code>
Salin selepas log masuk

Dalam contoh ini, pembolehubah senarai ditakrifkan dalam kaedah __init__(), menggunakan diri. Oleh itu, ia menjadi pembolehubah contoh. Setiap kejadian mempunyai pembolehubah senarai tersendiri. Oleh itu, output untuk setiap contoh ialah:

['thing']
['thing']
Salin selepas log masuk

Penyelesaian Penamaan untuk Kelas dan Pembolehubah Instance

Kunci untuk memahami tingkah laku kelas dan pembolehubah contoh terletak pada bagaimana Python menyelesaikan nama. Apabila anda mengakses self.list, Python terlebih dahulu menyemak sama ada atribut list wujud dalam contoh itu sendiri. Jika tidak ditemui, ia kemudian menyemak dalam definisi kelas.

Ini menerangkan sebab dalam contoh pertama, senarai dianggap sebagai pembolehubah kelas, manakala dalam contoh kedua, ia menjadi contoh pembolehubah.

Ringkasnya, penempatan definisi pembolehubah dalam kelas atau kaedah menentukan sama ada pembolehubah kelas atau contoh. Memahami perbezaan ini adalah penting untuk mengurus data dengan berkesan dalam kod Python berorientasikan objek.

Atas ialah kandungan terperinci Bagaimanakah Pembolehubah Kelas dan Contoh Berbeza 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