Menu
CoddyTech

Method Konstruktor (__init__)

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

method __init__ adalah method khusus yang otomatis dijalankan saat kamu membuat object baru. Method ini menginisialisasi atribut object tersebut.

Berikut contoh class dengan konstruktor:

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

method __init__ menerima parameter dan menetapkannya ke atribut instance menggunakan self.

Buat object menggunakan constructor:

rex = Dog("Rex", "German Shepherd")
buddy = Dog("Buddy", "Golden Retriever")

Saat kamu memanggil Dog("Rex", "German Shepherd"), Python otomatis memanggil __init__ dan meneruskan argumennya.

Akses atribut yang ditetapkan oleh konstruktor:

print(rex.name)
print(rex.breed)
print(buddy.name)
print(buddy.breed)

Output:

Rex
German Shepherd
Buddy
Golden Retriever

Kamu juga bisa memiliki constructor dengan nilai default:

class Cat:
    def __init__(self, name, age=1):
        self.name = name
        self.age = age

# Buat object kucing
fluffy = Cat("Fluffy", 3)
whiskers = Cat("Whiskers")  # nilai bawaan age adalah 1

print(f"{fluffy.name} is {fluffy.age} years old")
print(f"{whiskers.name} is {whiskers.age} years old")

Output:

Fluffy is 3 years old
Whiskers is 1 years old

Poin Penting: method __init__ memastikan setiap object disiapkan dengan benar menggunakan data awalnya saat dibuat. Ini membuat kamu tidak perlu mengatur atribut secara manual setelah object dibuat.

challenge icon

Tantangan

Mudah

Kamu diberi file Python (book.py dan driver.py) untuk mengimplementasikan sistem pengelolaan buku. Dalam tantangan ini, kamu akan mendefinisikan class Book dalam satu file yang akan diimpor dan digunakan di file lain.

Tugasmu:

  • Lengkapi class Book di book.py dengan method __init__ yang menginisialisasi atribut title, author, dan pages
  • File driver.py akan mengimpor dan menggunakan class Book-mu untuk membuat object buku dengan "Harry Potter" by "J.K. Rowling" with 400 pages

Ikuti komentar TODO yang terperinci di book.py .

Coba sendiri

# TODO: Impor class Book dari book.py
# Gunakan format ini: from book import Book

# TODO: Buat object buku bernama 'my_book' dengan nilai berikut:
# - title: "Harry Potter"
# - author: "J.K. Rowling"
# - pages: 400
# Contoh: my_book = Book("Title", "Author", pages)

# Tampilkan detail buku
# TODO: Pastikan my_book sudah didefinisikan dengan benar sebelum baris ini dijalankan
print(f"'{my_book.title}' by {my_book.author}, {my_book.pages} pages")
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