Menu
CoddyTech

Dekorator class method

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Python di Coddy. Pelajaran 12 dari 64.

Dekorator @classmethod membuat method yang menerima class itu sendiri sebagai parameter pertama (cls), bukan sebuah instance (self).

Berikut contoh class dengan class method:

class Student:
    school_name = "Python Academy"
    student_count = 0
    
    def __init__(self, name):
        self.name = name
        Student.student_count += 1
    
    @classmethod
    def get_school_info(cls):
        return f"School: {cls.school_name}, Students: {cls.student_count}"
    
    @classmethod
    def create_guest_student(cls):
        return cls("Guest")

Panggil method class menggunakan nama class:

info = Student.get_school_info()
print(info)

Buat beberapa siswa:

alice = Student("Alice")
bob = Student("Bob")

updated_info = Student.get_school_info()
print(updated_info)

Gunakan method class sebagai konstruktor alternatif:

guest = Student.create_guest_student()
print(guest.name)
print(Student.get_school_info())

Keluaran:

School: Python Academy, Students: 0
School: Python Academy, Students: 2
Guest
School: Python Academy, Students: 3

Method class juga dapat dipanggil dari instance:

alice = Student("Alice")
info_from_instance = alice.get_school_info()
print(info_from_instance)

Output:

School: Python Academy, Students: 1

Poin penting: Gunakan @classmethod saat kamu perlu mengakses atribut class atau membuat cara alternatif untuk membuat object. Parameter pertama adalah cls (class itu sendiri), bukan self.

Coba sendiri

Pelajaran ini tidak memiliki tantangan kode.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Python online