Menu
Coddy logo textTech

Yapıcı Metot (__init__)

Coddy'nin Python Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 7 / 64.

__init__ yöntemi, yeni bir nesne oluşturduğunuzda otomatik olarak çalışan özel bir yöntemdir. Nesnenin özniteliklerini başlatır.

İşte bir oluşturucuya sahip bir sınıf örneği:

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

__init__ metodu parametreleri alır ve self kullanarak bunları örnek niteliklerine atar.

Yapıcıyı kullanarak nesneler oluşturun:

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

Dog("Rex", "German Shepherd") çağrısını yaptığında Python otomatik olarak __init__ metodunu çağırır ve bağımsız değişkenleri iletir.

Yapıcı tarafından ayarlanan özniteliklere erişin:

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

Çıktı:

Rex
German Shepherd
Buddy
Golden Retriever

Ayrıca varsayılan değerlere sahip bir kurucuya da sahip olabilirsiniz:

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

# Kediler oluştur
fluffy = Cat("Fluffy", 3)
whiskers = Cat("Whiskers")  # age varsayılan olarak 1

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

Çıktı:

Fluffy is 3 years old
Whiskers is 1 years old

Temel Nokta: __init__ yöntemi, her nesnenin oluşturulduğunda başlangıç verileriyle düzgün bir şekilde kurulmasını sağlar. Nesne oluşturulduktan sonra öznitelikleri manuel olarak ayarlama zahmetinden kurtarır.

challenge icon

Görev

Kolay

Bir kitap yönetim sistemi uygulamak için size Python dosyaları (book.py ve driver.py) verilmiştir. Bu görevde, bir dosyada tanımlanacak ve başka bir dosyaya aktarılıp kullanılacak bir Book sınıfı oluşturacaksınız.

Göreviniz:

  • book.py dosyasındaki Book sınıfını, title, author ve pages özniteliklerini başlatan bir __init__ yöntemiyle tamamlamak
  • driver.py dosyası, Book sınıfınızı içe aktaracak ve kullanarak "Harry Potter" by "J.K. Rowling" with 400 pages için bir kitap nesnesi oluşturacak

book.py dosyasındaki ayrıntılı TODO yorumlarını izleyin .

Kendin dene

# TODO: Book sınıfını book.py'den içe aktar
# Bu formatı kullan: from book import Book

# TODO: Aşağıdaki değerlerle 'my_book' adında bir book nesnesi oluştur:
# - title: "Harry Potter"
# - author: "J.K. Rowling"
# - pages: 400
# Örnek: my_book = Book("Title", "Author", pages)

# Kitap detaylarını yazdır
# TODO: Bu satır çalışmadan önce my_book'un düzgün tanımlandığından emin ol
print(f"'{my_book.title}' by {my_book.author}, {my_book.pages} pages")
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi