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 Sedanmy_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.
Görev
Kolaycar.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_infometodunu ekleyeceğinizCarsınıfı tanımını içerirdriver.py:Carsı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.
Kopya kağıdı
self parametresi, metotlar içindeki bir sınıfın örneğini (instance) ifade eder ve geçerli nesnenin özniteliklerine erişmenize ve bunları değiştirmenize olanak tanır.
self, metot tanımlarında her zaman ilk parametre olmalıdır:
class Car:
def honk(self):
print("Beep beep!")
def describe(self):
print(f"I am a {self.color} {self.model}")Bir nesne oluşturun ve öznitelikler ekleyin:
my_car = Car()
my_car.color = "Red"
my_car.model = "Sedan"Metotları çağırın (Python, nesneyi otomatik olarak self olarak iletir):
my_car.honk() # Beep beep!
my_car.describe() # I am a Red SedanÖnemli Nokta: self parametresini metot tanımlarında her zaman ilk parametre olarak dahil edin, ancak metotları çağırırken asla parametre olarak geçirmeyin.
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 CorollaBu 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
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesnelerself ParametresiMetotlarÖzniteliklerYapıcı Metot (__init__)Özet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtımsuper() FonksiyonuMetot Geçersiz KılmaÇoklu KalıtımMetot Çözümleme SırasıÖzet - Çalışan Hiyerarşisi7Özel Metotlar
Sihirli Metotlara GirişOperatör Aşırı YüklemeKapsayıcı Sihirli MetotlarıÖzet - Özel Liste10Tasarım Kalıpları Bölüm 1
Tasarım kalıplarına girişSingleton KalıbıFactory KalıbıObserver KalıbıStrategy Kalıbı13Final Meydan Okumaları
E-öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi5Çok Biçimlilik (Polymorphism)
Metot Geçersiz Kılmaya Yeniden BakışDuck TypingSoyut Sınıflar ve MetotlarArayüz TasarımıÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kompozisyon ve KalıtımMixinsStatik ve Sınıf MetotlarıSınıf DekoratörleriBağlam Yöneticileri11Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit Kalıbı