Menu
Coddy logo textTech

self Parametresi

Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 4 / 64.

self parametresi, metotlar içindeki bir sınıfın örneğine (instance) atıfta bulunur. Mevcut nesnenin özniteliklerine erişmenize ve bunları değiştirmenize olanak tanır.

İşte self kullanan metotlara sahip bir sınıf örneği:

class Car:
    def honk(self):
        print("Beep beep!")
    
    def describe(self):
        print(f"I am a {self.color} {self.model}")

self parametresi, metot tanımlarında her zaman ilk parametre olmalıdır. Metoda hangi belirli nesnenin kullanıldığını söyler.

Bir araba nesnesi oluşturun ve özellikler ekleyin:

my_car = Car()
my_car.color = "Red"
my_car.model = "Sedan"

Şimdi metotları çağırın:

my_car.honk()
my_car.describe()

Çıktı:

Beep beep!
I am a Red Sedan

my_car.describe() çağrılırken self için herhangi bir şey geçmediğinize dikkat edin; Python, my_car nesnesini otomatik olarak self parametresi olarak iletir.

İşte perde arkasında olanlar:

# Bunu yazdığınızda:
my_car.describe()

# Python aslında şunu yapar:
Car.describe(my_car)

self parametresi, her nesnenin kendi verilerine erişmesini sağlar. self olmadan, metotlar hangi nesnenin özniteliklerini kullanacaklarını bilemezler.

Önemli Nokta: Metot tanımlarında ilk parametre olarak her zaman self ifadesini dahil edin, ancak metotları çağırırken bunu asla geçirmeyin - Python bunu otomatik olarak halleder.

challenge icon

Görev

Kolay

car.py dosyasındaki Car sınıfını, arabanın yılını, markasını ve modelini şu formatta yazdırmak için self parametresini kullanan display_info adlı bir metot ekleyerek tamamlayın:

"This car is a [year] [make] [model]".

  • car.py: display_info metodunu ekleyeceğiniz Car sınıfı tanımını içerir
  • driver.py: Car sınıfını içe aktaran ve kullanan ana yürütme dosyasıdır

driver.py dosyası, Car sınıfınızı içe aktaracak ve uygulamanızı test etmek için örnekler oluşturacaktır. Metodunuzun sürücü dosyasından çağrıldığında doğru çalıştığından emin olun.

Kendin dene

from car import Car

# Kodunuzu test edin
my_car = Car()
my_car.year = 2020
my_car.make = "Toyota"
my_car.model = "Corolla"

my_car.display_info()  # Şunu yazdırmalı: This car is a 2020 Toyota Corolla
quiz iconKendini test et

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

Object Oriented Programming bölümündeki tüm dersler