Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Membuat Pemalar Kelas dan Kaedah Statik dalam Python?

Bagaimanakah Saya Membuat Pemalar Kelas dan Kaedah Statik dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-05 01:29:40478semak imbas

How Do I Create Class Constants and Static Methods in Python?

Mencipta Pemalar Kelas dan Fungsi dalam Python

Python membenarkan pembangun mencipta pembolehubah dan kaedah peringkat kelas, yang biasanya dirujuk sebagai "pembolehubah kelas " dan "kaedah statik."

Kelas Pembolehubah

Pembolehubah yang diisytiharkan dalam definisi kelas, di luar mana-mana kaedah, menjadi pembolehubah kelas. Contohnya:

class MyClass:
    i = 3

Mengakses MyClass.i akan mengembalikan nilai 3. Terutamanya, pembolehubah kelas adalah berbeza daripada mana-mana pembolehubah peringkat contoh dengan nama yang sama, seperti yang ditunjukkan di bawah:

m = MyClass()
m.i = 4
print(MyClass.i, m.i)  # Outputs: (3, 4)

Kaedah Statik

Tidak seperti kaedah contoh, kaedah statik dikaitkan dengan kelas itu sendiri dan bukannya sebarang contoh tertentu. Untuk mencipta kaedah statik, gunakan penghias @staticmethod. Contohnya:

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

Kaedah statik tidak menerima parameter kendiri kerana ia tidak beroperasi pada kejadian tertentu.

Kaedah Kelas lwn. Kaedah Statik

Walaupun kaedah statik mudah digunakan untuk fungsi utiliti, kaedah kelas menyediakan pendekatan yang lebih Pythonic dengan menghantar contoh kelas sebagai yang pertama parameter.

@classmethod
def f(cls, arg1, arg2, ...): ...

Dalam kes ini, cls merujuk kepada kelas itu sendiri. Corak ini selalunya digunakan untuk kaedah atau operasi kilang yang memanipulasi kelas dan bukannya sebarang kejadian.

Atas ialah kandungan terperinci Bagaimanakah Saya Membuat Pemalar Kelas dan Kaedah Statik 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