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!