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())

Coba di IDE

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)

Coba di IDE

Output:

3 4

Dipanggil dari instance

class A:
    @classmethod
    def nama(cls): return cls.__name__
print(A().nama())

Coba di IDE

Output:

A

Mengikuti subclass

class A:
    @classmethod
    def nama(cls): return cls.__name__
class B(A): pass
print(B.nama())

Coba di IDE

Output:

B

Kesalahan Umum

  • Argumen pertama adalah cls, bukan self.
  • Gunakan untuk data class atau konstruktor alternatif.

Pelajari Lebih Lanjut