Menu
Coddy logo textTech

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. Mevcut nesnenin özniteliklerine 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ş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 yöntemler hangi nesnenin özniteliklerini kullanacaklarını bilemezdi.

Önemli Nokta: Metot tanımlarında her zaman ilk parametre olarak self ifadesini ekleyin, 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.

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

Kendi başına pratik yap: Online Python derleyicisi