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 Sedanmy_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.
Görev
KolayCar 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_infoyöntemini ekleyeceğinCarsı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ı 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 CorollaBu 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
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ıKendi başına pratik yap: Online Python derleyicisi