Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Pembolehubah Statik dan Kaedah Berfungsi dalam Python?

Bagaimanakah Pembolehubah Statik dan Kaedah Berfungsi dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-17 19:05:12204semak imbas

How Do Static Variables and Methods Work in Python?

Mencipta Pembolehubah Statik dan Kaedah dalam Python

Dalam Python, pembolehubah statik dan kaedah masing-masing dirujuk sebagai pembolehubah kelas dan kaedah kelas. Entiti ini ditakrifkan pada peringkat kelas dan boleh diakses serta dimanipulasi tanpa menginstant objek.

Pembolehubah Kelas

Pembolehubah kelas diisytiharkan dalam definisi kelas, di luar sebarang kaedah . Mereka dikongsi antara semua kejadian kelas dan boleh diakses menggunakan nama kelas diikuti dengan titik. Contohnya:

class MyClass:
    i = 3

print(MyClass.i)  # Outputs 3

Kaedah Kelas

Kaedah kelas ialah fungsi yang ditakrifkan dalam kelas, tetapi tidak seperti kaedah contoh, ia beroperasi pada kelas itu sendiri dan bukannya pada satu contoh. Ia diisytiharkan menggunakan penghias @staticmethod.

class MyClass:
    @staticmethod
    def f(arg1, arg2, ...): ...

Kaedah kelas boleh dipanggil terus menggunakan nama kelas, tanpa objek. Ia biasanya digunakan untuk melaksanakan tugas yang bebas daripada kejadian individu, seperti fungsi utiliti atau semakan jenis.

Kaedah Kelas Daripada Kaedah Statik

Sesetengah pengaturcara lebih suka kaedah kelas berbanding kaedah statik kerana mereka boleh menerima jenis kelas sebagai hujah pertama. Ini membenarkan kaedah untuk mengakses maklumat khusus kelas dan melaksanakan operasi yang lebih kompleks.

class MyClass:
    @classmethod
    def g(cls, arg1, arg2, ...): ...

Contoh

Pertimbangkan definisi kelas berikut dengan kedua-dua pembolehubah kelas dan a kaedah kelas:

class MyClass:
    count = 0

    @classmethod
    def get_count(cls):
        return cls.count

Kelas ini mengandungi kiraan pembolehubah kelas yang menjejaki bilangan objek yang dicipta dan kaedah kelas get_count yang mendapatkan semula nilai semasa kiraan. Untuk menggunakan ini, kita boleh menulis:

MyClass.count += 1  # Increment the class variable
print(MyClass.get_count())  # Call the class method to get the count

Pembolehubah dan kaedah kelas menyediakan cara yang mudah untuk mentakrifkan dan menggunakan data dan kefungsian yang dikongsi antara contoh kelas yang berbeza, memudahkan organisasi kod dan meningkatkan kebolehgunaan semula kod.

Atas ialah kandungan terperinci Bagaimanakah Pembolehubah Statik dan Kaedah Berfungsi dalam 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