Daftar Referensi Python
classmethod() membuat method yang menerima class sebagai argumen pertama, biasanya bernama cls.
Sintaks
@classmethod
def method(cls, ...): ...
Parameter
| Parameter | Wajib? | Keterangan |
|---|---|---|
function |
Ya | Fungsi yang dijadikan class method |
Nilai balik: descriptor class method.
Contoh
class Produk:
jumlah = 3
@classmethod
def total(cls): return cls.jumlah
print(Produk.total())
Output:
3
Contoh Lainnya
Konstruktor alternatif
class Titik:
def __init__(self, x, y): self.x, self.y = x, y
@classmethod
def dari_teks(cls, teks): return cls(*map(int, teks.split(",")))
t = Titik.dari_teks("3,4")
print(t.x, t.y)
Output:
3 4
Dipanggil dari instance
class A:
@classmethod
def nama(cls): return cls.__name__
print(A().nama())
Output:
A
Mengikuti subclass
class A:
@classmethod
def nama(cls): return cls.__name__
class B(A): pass
print(B.nama())
Output:
B
Kesalahan Umum
- Argumen pertama adalah
cls, bukanself. - Gunakan untuk data class atau konstruktor alternatif.
Pelajari Lebih Lanjut
- Referensi: Class · callable()
