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
Lepaskan: 2025-01-05 01:29:40
asal
394 orang telah melayarinya

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
Salin selepas log masuk

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)
Salin selepas log masuk

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, ...): ...
Salin selepas log masuk

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, ...): ...
Salin selepas log masuk

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!

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