Menu
CoddyTech

self Parametresi

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

self parametresi, metotlar içinde bir sınıfın örneğini ifade eder. Geçerli nesnenin niteliklerine erişmenizi ve bunları değiştirmenizi sağlar.

İş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ştur ve özellikler ekle:

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

Şimdi yöntemleri ç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çirmediğine dikkat et — Python, self parametresi olarak my_car değerini otomatik olarak geçirir.

Arka planda olanlar şunlardır:

# 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ı bilemezdi.

Önemli Nokta: Metot tanımlarında her zaman ilk parametre olarak self ekleyin, ancak metotları çağırırken asla self göndermeyin — Python bunu otomatik olarak halleder.

challenge icon

Görev

Kolay

Car sınıfını, self parametresini kullanarak otomobilin yılını, markasını ve modelini şu biçimde yazdıran display_info adlı bir yöntem ekleyerek car.py dosyasında tamamla:

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

  • car.py: display_info yöntemini ekleyeceğin 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ı içe aktaracak ve uygulamanı sınamak için örnekler oluşturacaktır. Yönteminin sürücü dosyasından çağrıldığında doğru çalıştığından emin ol.

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.

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

Kendi başına pratik yap: Online Python derleyicisi